Exactamente que es
FMenu? es el segundo Frame o un formulario?
No es recomendado usar ShowModal en este caso. Además cuando el usuario está dado de alta, el bucle
WHILE no se termina nunca. En este caso has una llamada a
break depués de
Fmenu.showmodal;
Por otro lado, ten en cuenta lo que ha comentado Caral. Aún así no quiero hacerte sentir presionado a hacerlo porque talvez no tengas los conocimientos necesarios para hacer un LogIn más acorde. Aún así si te interesa puedes utilizar esta versión mejorada de tu código:
Código Delphi
[-]with Modulo1.passwords do
begin
{$ B+}
if not (Locate('usuario', [Edit1.text], [loCaseInsensitive]) and (FieldByName('pass').AsString = MaskEdit1.text)) then
begin
ShowMessage('La contraseña no es correcta....');
...
exit;
end;
{$ B-}
end;
FMenu.Show;
...
Saludos,
Chris