¿No tendrás la ventana de login en autocreate Forms? (en delphi, Project -> Options, debes quitarlo de la lista de autocreate y pasarlo a "available forms'.
Apunto este detalle porque dices que se muestra 2 veces (una la creas tú con Login := TLogin.Create(Self) y la otra la crea delphi porque está en formularios autocreados).
Yo el login lo haría así:
Código Delphi
[-]
var salir:boolean;
begin
Login := TLogin.Create(Self);
Try
if Login.ShowModal = mrcancel then
salir := true;
Finally
Login.Free;
if salir then
Application.Terminate
else
ShellExecute('administracion.exe'.....)
Como se suele decir: "cada cosa para su cosa".
La ventana de login: Cuando el usuario pulsa aceptar y validas la contraseña, deberías asignar la propiedad ModalResult de dicha ventana:
Código Delphi
[-]
procedure Tlogin.BotonOkClick(...);
begin
if constasena = 'noteenojes' then
ModalResult := mrOk
else
ModalResult := mrcancel
end;
La aplicación principal: muestra la ventana de login y según el resultado termina la aplicación o bien ejecuta la administracion.
Saludos