Well of course I can easily create an OnGetImageIndex event. I tried using the event to assign an ImageIndex, no difference. The event handler is actually receiving the correct ImageIndex any way. (The ImageIndex value I'd want to use will allways be the TabIndex value, which is the default. )
To be clear, I'm talking about a TTabControl, not a TPageControl. With TPageControl, if I assign an imagelist to the TPageControl.Images, then set the ImageIndex property of a contained TTabsheet, then the image referenced appears on the tab, just as I'd expect.