Hola cslbcn, lo que se me ocurre es que pintes tu la fila, sin el RowSelect (ponerlo a False), para ello podrías desprotejer primero el DBGrid, de esta forma:
Código Delphi
[-]
type
TDBGrid = class(DBGrids.TDBGrid);
En tu evento OnColumnCell haces lo siguiente:
Código Delphi
[-]
procedure TForm1.dbgrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
aRect: TRect;
begin
TDBGrid(Sender).Canvas.Font.Color := clWhite;
TDBGrid(Sender).Canvas.Brush.Color := clBlue;
aRect := TDBGrid(Sender).CellRect(DataCol+1,TDBGrid(Sender).Row);
TDBGrid(Sender).DefaultDrawColumnCell(aRect,DataCol,Column,State);
Pruebalo, puede que tengas que hacer algunos controles mas.
Saluditos