Bien, el problema esta aqui:
Código Delphi
[-]
clPaleGreen = Tcolor($CCFFCC);
clPaleRed = TColor($CCCCFF);
clPaleYellow= TColor($FFFF00);
En delphi, si haces ese tipo de asignación debes intercambiar el primer y ultimo byte para obtener el resultado que tu esperas. Es decir:
Código Delphi
[-]
clPaleGreen = Tcolor($CCFFCC);
clPaleRed = TColor($FFCCCC);
clPaleYellow= TColor($00FFFF);