Я делал так, может и не правильно
Код:
procedure TMainForm.FormCreate(Sender: TObject);
var
i:integer;
begin
for i:=2 to 32 do
DBGrid1.Columns[i].width:=40;
for i:=34 to 36 do
DBGrid1.Columns[i].Width:=30;
DBGrid1.Columns[33].Width:=190;
DBGrid1.Columns[37].Width:=150;
Скорее всего, что не правильно, но работает. При создании колонки получаются заданной ширины
