Something's changed in 3.1.2.GA.
I used to be able to put a <rich:dataTable> and then a <h:panelGrid> after the table, match up formatting so there would be no separation between the data table and the grid, and everything looked as one table.
Now, in 3.1.2.GA, when there are no rows in the result set, the data table draws two lines on the bottom. The first line is the bottom of the header and the second line is the bottom of the table, I understand. It was not like that before... I guess now I have to play with the header and table styles and define different styles every time the table has or does not have rows. Kind of tricky, it is going to be...