Te explico justamente aca es donde da el error en el form de login:
Código Delphi
[-] qryUsuario.Close;
qryUsuario.SQL.Text := 'SELECT * FROM tblusuarios Where userid='+QuotedStr(Trim(edUsuario.Text))+' AND password='+QuotedStr(Trim(edClave.Text));
qryUsuario.Open;
If qryUsuario.RecordCount < 1 then
begin
ShowMessage('Usuario ó Clave erronea, intente de nuevo');
edUsuario.SetFocus;
end
else
frmLogin.Close;
Sobre las variables publicas, es que luego de cerrar el login que solo tiene una conexion a la db para la desconectare y el form principal creara otra nueva conexion en base a estos datos ya recolectados. pero si dices que esta mal esta mal

buscare otra forma