Indeed, this is the priority Excle uses in the xls/x files. You have to consider we are speaking at a very low level here: the way xls and xlsx work.
Xls and xlsx have the ability to set the row format for a row, the column format for a column, and the cell format for a cell. And the priorities it uses are as explained.
Of course, if you think about it at a higher level, you can see that the "logical" thing when you set a row format is to set the format for all the cells. This is what Excel does when you select a row and format it. And this is what FlexCel does if you call SetRowFormat(row, xf, true);
But if you look at it from what it is really happening, this is a very wasteful way to set formats. Under the hood, when you select a row and paint it blue in Excel (or in FlexCel if ResetRow = true), what Excel does is to set the row format to blue, and format all the existing cells in the row to blue. But this isn't efficient, as you are setting a lot of cell formats that you might set again later.
If efficiency is needed (which happens for big files) you need to think at a lower level, on what is actually happening in the file. In that level the fastest you can do is to just loop over the cells (including blank ones) and set the values and formats in a single call (Setting "Nothing" value for empty cells)