No estoy seguro, pero es posible que ProcessMessages deba ir antes del sleep. O sea:
Código Delphi
[-]
F_POrtero.Color:=CLGREEN;
Application.ProcessMessages;
sleep(1000);
F_POrtero.Color:=clBlack;
Application.ProcessMessages;
Aunque ya digo que no estoy seguro al 100%.
[edito]
Ala, me pilló el toro. Y encima eso, que no hacía falta. Ains...