Bueno, he estado entretenido y se me han adelantado, pero he podido hacer un ejemplo que contrasta el truco con lo que comenta Lepe.
Código Delphi
[-]
var
Ancho, x, aux: integer;
begin
Ancho := 0;
aux := 0;
for x := 0 to ComboBox1.Items.Count - 1 do begin
aux := Combobox1.Canvas.TextWidth(Combobox1.Items.Strings[x]);
if aux > Ancho then Ancho := aux;
end;
ComboBox1.Perform(CB_SetDroppedWidth,Ancho,0);
Espero te sirva,
Saludos