El problema es que los procedimientos de redibujado estarán ocupando todo el tiempo y además es exponencial a medida que vas incrementenado el número de componentes.
Lo primero que se me ocurre es que crees los componentes
antes de visualizar el form. A ver si así evitas que se lancen procedimientos de pintado.
¿Dónde llamas actualmente a este procedimiento? ¿En el OnShow? ¿Después del OnShow?
Otra opción es probar, por ejemplo a crearlos dentro de un frame o contenedor con este oculto, y una vez creados todos visualizarlos...
Código Delphi
[-]
panel1.Visible := False;
try
edt := TEdit.Create(Self);
edt.ParentWindow := Panel1.Handle;
edt.Top := 10;
edt.Left := 10;
....
Creación de componentes.....
...
finally
Panel1.Visible := true;
end;
A ver si esto mejora el tiempo.