Precisamente Fenix, para empezar recuerda siempre usar la versión mas actualizada posible (y estable) de cada componente que usas. Por otor lado actualmente hay muchos proveedores de correo que cambian sus protocolos por seguridad. LO que te funciona con uno no necesariamente te va a funcionar con otro.
Finalmente tu código está mal estructurado en la captura de las excepciones pues "El mensaje se envió correctamente" siempre se ejecutará aún cuando haya algun error. Te esta sobrando ese try que pusiste, debe quedar asi:
Código Delphi
[-]
try
indySMTP.Connect;
indySMTP.Send(mailMensaje);
showmessage('El mensaje se envió correctamente');
except
showmessage('Se produjo un fallo durante el envío del mensaje');
end;
De esta forma si se genera una excepción todo salta a "Se produjo un fallo..." y nunca verás el otro mensaje. Si todo va bien, verás "El mensaje se envió..."