soweit ich weiß musst du nur die methode OnCustomDraw überschreiben und dort in Abhängigkeit das als Parameter übergebene ACanvas beeinflussen (ACanvas->Brush->Color := ...). Mehr nicht. Also nur ein einziger Befehl nach dem if, und nicht Grid->Canvas->...
Allerdings arbeite ich nicht mit dem DBGrid, sondern mit den Grids von Developers Express (
www.devexpress.com). Dort geht es so.