Bueno siento ser pesado, pero con unos pequeños cambios os muestro lo que digo.
Código Cambiado
Código Delphi
[-]procedure TForm1.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var color:TColor;
begin
case UlDigit(StrToInt(DataSource2.DataSet.FieldByName('LOTE').value)) of
0:Color:=RGB(205,150,10);
1:Color:=RGB(210,160,40);
2:Color:=RGB(215,170,70);
3:Color:=RGB(220,180,100);
4:Color:=RGB(225,190,130);
5:Color:=RGB(230,200,160);
6:Color:=RGB(235,210,190);
7:Color:=RGB(240,220,210);
8:Color:=RGB(245,230,240);
9:Color:=RGB(250,240,255);
end;
DBGrid2.Canvas.Brush.Color := Color;
Dbgrid2.Canvas.FillRect(Rect);
dbGrid2.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;