Que tal, te comento como lo trabajo yo:
Al iniciar la aplicacion, se crea el modulo de datos y el form de logeo tal como lo tenes vos
El usuario ingresa usuario y contraseña, si son correctos, hago algo como esto
Código Delphi
[-]
...
Application.CreateForm(TFPrincipal, FPrincipal);
FLogin.Hide; FPrincipal.ShowModal;
FPrincipal.Free;
...
Luego el boton de cerrar sesion:
Código Delphi
[-]
FPrincipal.Close;
FLogin.Show;
Y si quiero cerrar la aplicacion lo que hago es:
Evidentemente en la configuracion del proyecto el FLogin es el que esta declarado como "Main-Form"
Saludos!