Aquí te va un ejemplo del uso de OnDrawColumnCell
Código:
procedure TForm1.DBGridDrawColumnCell(
Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState
);
begin
if not (gdSelected in State) and CiertoValor then
DBGrid.Canvas.Font.Color := clRed
DBGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Lo de gdSelected in State es para que no cambie el color cuando la fila esta seleccionada pero puedes omitirlo. Si lo que deseas es cambiar el color de fondo en lugar del color del texto usa DBGrid.Canvas.Brush.Color en lugar de DBGrid.Canvas.Font.
// Saludos