Thanks for your quick response, I've gone with the approach you suggested.
I'd simplified the scenario in my original post, so it's actually a bit more complicated. It's a table (with two columns and no borders - to create a two-column section), followed by a paragraph (a heading), followed by another table (again, one that creates a two-column section). And I need to ensure that all of the above don't get split by a page break.
Which made it tricky to do as you suggested as it meant having a nested table, so I had to use the approach mentioned
here as a workaround for that.
Unfortunately this nested table also needed to be indented, but Rows.LeftIndent didn't seem to work when using the above method so I had to add an empty column as the workaround for the indent.
So it's a bit messy, but it seems to be working. If KeepWithNext could work for tables with a trailing paragraph though then that'd make things a lot easier.
Thanks.