Hola,
elguille, no veo que liberes en la función que muestras los objetos "TIdSmtp" y "TIdMessage", y, sin embargo, en su creación no les das dueño: eres tú mismo, el dueño, por tanto, y el encargado de su liberación. En fin, es que me ha llamado la atención, nada más.