[Jeremias and Andreas on starts-row & ends-row]
My take is that only a "true" value is used to determine a change in
row. It makes no difference to the fo-tree or to layout if a default
"false" or an explicit "false" is found.
The "starts-row" and "ends-row" properties with a "true" value are
typically used when the input data does not have elements containing the
cells in each row, but instead, for example, each row starts at elements
of a particular type.
I found no indication that a "false" value can be used to prevent a row
change, so there is IMO no real conflict if conflicting values are used
on sibling cells.