Hola,
Tal vez no sea un problema relacionado con tu código o los componentes Indy sino que se trate del servidor SMTP. Ya sé que esto no es decir nada, pero, al menos tal vez sirva para no volvernos locos cambiando nuestro código, puesto que el problema puede no estar ahí. ¿Por qué no pruebas a establecer la propiedad "TimeOut" del componente "IdSMTP"?
Código Delphi
[-]
SMTP := TIdSMTP.Create( nil );
SMTP.ReadTimeout := 30000;
Otra cosa que igual deberías hacer es actualizar los componentes Indy si no estás usando ya la última versión disponible.