I had the same issue and looked around on the internet for a fix.
Here is what I came up with and it works for me:
<fo:table-cell xsl:use-attribute-sets="Cell_Font" >
<fo:block xsl:use-attribute-sets="Block_Cell" keep-together.within-page="always"
<xsl:value-of select="selected data here" />
I added the keep-together.within-page on each block for a table cell, then put the data in an fo:inline statement and it works.
I took out the keep-together stuff for the table-row
as that did not work and caused the first page to have no body, just header and footer.
Try it and see