MAXIUM, el error te lo estará dando por el Disconnect. Si ya se ha desconectado por un error de red, no puedes llamar a desconectar:
Código Delphi
[-]
Try
IdPOP31.Connect;
try
finally
IdPOP31.Disconnect;
TodoBien:= True;
end;
Except
StatusBar1.Panels[0].Text:= 'ERROR';
TodoBien:= False;
End;
- En este caso si al conectar da fallo por algo, no intenta desconectar. El try except lo silenciará (que es lo que quieres)
- Si todo va bien pero lo que falla es "//hacer lo que sea", entonces intentará desconectar, pero el try except lo cazará y silenciará el error. Quedaría hacer un Freeandnil de las cosas que se hayan creado para que la aplicación se recupere del fallo, pero eso ya te encargas tú, que sabes el resto del código.
Saludos!