Hola, para hacer eso mismo yo uso este componente (gratuito) que permite canviar tamaño y posición de cualquier control en tiempo de ejecución. Eso si, guardar/cargar las posiciones deberás implementarlo tu: algo como esto:
Código Delphi
[-]
for i := 0 to QuickRep.ControlCount-1 do
begin
GuardaAArchivo(Controls[i].Name);
GuardaAArchivo(Controls[i].Left);
...
end;
y la inversa para ir cargando.
A ver si te sirve

saludos