Hola, el DefaultDrawColumnCell tienes que hacerlo también para el resto de las columnas, en caso de que quieras que se vean todos los datos. Supongo que el error viene de ahí.
Código Delphi
[-]
with (Sender as TDBGrid) do
begin
if DataSource.DataSet.FieldByName('paga').Value = 'true'
then
begin
DBGrid3.Canvas.Brush.Color:=$438811;
DBGrid3.Canvas.FillRect(Rect);
end;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;