Eine perfekte Lösung wird es da nicht geben. Die Themes benutzen nämlich stellenweise vorgerenderte Bitmaps zum Zeichnen der visuellen Elemente. So wird ja die Farbe eines Buttons bei aktivierten Themes nicht mehr durch clBtnFace bestimmt sondern einzig und allein durch das Farbschema des Themes.
Hier hab ich mal eine Komponentenklasse zu einer ähnlichen Diskussion gepostet, allerdings sah das mit aktivierten Hintergrundfarben nicht sonderlich gut aus. Auch ein TBitBtn sollte runde Ränder um Buttons zeichnen, vielleicht könnt ihr euch für die farbigen Buttons ja jeweils einzelne Bilder malen.