Into example (FPC 2.4.2 and FPC 2.4.4 , lazarus 0.9.30 and 0.9.30.1 last daily snapshot, winxp sp3)
procedure TForm1.Button1Click(Sender: TObject);
var
columna :TGridColumn;
begin
StringGrid1.Options:=[goFixedHorzLine,goFixedVertLine,goHorzLine,goRowSelect,goSmoothScroll];
StringGrid1.Columns.Clear;
StringGrid1.Clear;
columna := StringGrid1.Columns.Add;
columna.Title.Caption:='ONE';
columna.Width:=0; {<- IF > 0 NO ERROR}
columna := StringGrid1.Columns.Add;
columna.Title.Caption:='TWO';
columna.Width:=120;
columna := StringGrid1.Columns.Add;
columna.Title.Caption:='TREE';
columna.Width:=200;
StringGrid1.RowCount:=2;
end;
result in exception (List index out of bounds).