Lo de enviar un correo es facil con las Indy (incluso tienes un ejemplo de como hacerlo). Las Indy las encontraras para D4 y superior en
http://www.nevrona.com/Indy/download/index.html
El tema de enviar una copia de la pantalla, ya no te sabria decir, pero, de hecho, en la pantalla de error que salta, lo unico que indica es el error producido, que eso sí que es facil capturarlo
Código:
try
except
on E: Exception do
EnviaMensajeCorreo(E.Message);
end;
Donde
EnviaMensajeCorreo es la funcion que envia el correo y que se le pasa por parametro un string que contiene el error producido en la aplicación
Espero te sirva