Thanks, wp, I did indeed see the Linux behavior (bug) you noted.
I was very puzzled however, because I have been using PageControls for years as I described. I went back to see what I did that was different from your demo. I set:
PageControl1.ShowTabs := false;
and for each TabSheet (1 to 5):
TabSheet1.TabVisible := true;
This seems counter to the intended behavior, but seems to work the same on Carbon, Cocoa, Windows, and Linux gtk2. At the time I was a newbie, and paid it no mind as it seemed to work.
Thanks both, I will certainly keep in mind that Notebook is a perfectly valid option, whichever works best for a given situation.
Edit: I'll add that using the PageControl this way does make selection of the tabsheet in the editor more difficult. As you suggest, wp, the Notebook may have an edge there.