Bueno, si no me equivoco tu código se podría optimizar un poco de la siguiente manera:
Código Delphi
[-]
For N:=0 to Dbgrid1.Colcount do begin
Dbgrid1.Columns[N].Width:=Dbgrid1.Columns[N].Width * x div ancho;
Dbgrid1.Columns[N].Title.Font.Size:=Dbgrid1.Columns[N].Title.Font.Size * x div ancho;
end;
Saludos