Pues en principio veo tu código bien, No se si me escapa algún detalle, lo digo por que no eres muy específico en el "colgar"
Considero que deberías intentar una prueba simple, abriendo los formularios como lo indicas, pero sin activar la BD
Código Delphi
[-]procedure TMenuPrincipal.Clientes1Click(Sender: TObject);
var ficha:TElecClientes;
begin
Ficha:=TElecClientes.Create(Self);
Ficha.Showmodal;
Ficha.Free;
end;
De esta manera podría detectar si el problema está al activar tu BD, que al cargarse puede estar realizando alguna operación o consumiendo recursos...
También podría suceder que en el mismo oncreate o en el onshow esté realizando operaciones con recursos compartidos con los formularios gemelos...
Bueno, no se que mas decirte...
Por ultimo, te recomendaría (sugerencia personal) que revisaras la activación de la BD en el OnCreate del propio formulario...
Otra sugerencia sería que destruyeras el formulario en el evento OnClose, algo asi:
Código Delphi
[-]Procedure TForm1.OnClose(Var Action...)
BEgin
Action:= caFree
end;
Con ésto aseguras que cada vez que cierre el formulario se libera la memoria...
saludo,