Hello amigos.
Since last post of Mr Blaazen, this bug is still in Lazarus, even in version 1 RC 2

Then it should be a good idea to add this in your /lcl/grids.pas code :
DrawTextInCell(aCol,aRow,aRect,aState) //added
Just like Mr Blaazen show us in earlier topics...
I have added also a variable, custgrid, so i can choose to redraw text or not...
first add this after procedure Register;
var
custgrid : shortint ;and add this in procedure TCustomDrawGrid.DrawCell(aCol,aRow: Integer; aRect: TRect;
aState:TGridDrawState);
procedure TCustomDrawGrid.DrawCell(aCol,aRow: Integer; aRect: TRect;
aState:TGridDrawState);
var
OldDefaultDrawing: boolean;
begin
if Assigned(OnDrawCell) and not(CsDesigning in ComponentState) then begin
PrepareCanvas(aCol, aRow, aState);
if DefaultDrawing then
DefaultDrawCell(aCol, aRow, aRect, aState);
OnDrawCell(Self,aCol,aRow,aRect,aState);
if custgrid = 1 then DrawTextInCell(aCol,aRow,aRect,aState) //added
end else begin
OldDefaultDrawing:=FDefaultDrawing;
FDefaultDrawing:=True;
try
PrepareCanvas(aCol, aRow, aState);
finally
FDefaultDrawing:=OldDefaultDrawing;
end;
DefaultDrawCell(aCol,aRow,aRect,aState);
end;
DrawCellGrid(aCol,aRow,aRect,aState);
end;
Then re-compile Lazarus.
And i hope that one day it gonna be fix so we do not need to change the source and recompile Lazarus...