I tried something like this:
ImageList1.Add the image/icons ( I used 16x16 )
Set TabIndentLeft: Integer - space between text and tab left edge like 30 or so
And in OnTabDrawAfter: TATTabDrawEvent - called after painting a tab on canvas
use something like ImageList1.Draw(ACanvas, ARect.Left+6, ARect.Top+4, ATabIndex); to show the image
Looks nice, one day I will use it too
But like most programmers, time, time...
My test code looks bad, but I can clean it up if it helps you.