Du darfst innerhalb von DrawCell weder den Inhalt von StringGrid.Cells[] noch
StringGrid.Objects[] verändern (da du nicht kontrollieren kannst wie oft DrawCell aufgerufen wird) !
Aber genau das scheinst du zu tun:
Delphi-Quellcode:
FStatus:=pointer(Stringgrid1.objects[acol,arow]);
FStatus.Fdienst:=FGeteilterDienst; // Verboten
Also zurück an Anfang: "was willst du eigentlich erreichen ?" und
"wie soll das Grid aussehen und warum soll es so aussehen ?"