I have two tables in one view in kind of a master/slave relationship (not a SplitView). One, not filling the space will show the TableHeader just fine. The other, filled enough to scroll, refuses to show the header. Worse yet, when programmatically changing the focused cell, the animations to Top or Middle are squirrelly with inconsistent operation, sometimes putting the selected row partially out of the view.
I'm probably going to abandon TableHeaders and install a Label above the table instead.
BTW, focus and selection are two independent properties. In one table, I show selection by showing an icon arrow in the left of the cell -- a little more visual than the ghost selection indication. Selection occurs when clicked. In the other table, focus and selection work together. Selection in one of the tables advances focus/selection in the other table.