Si tanto la aplicación como la dll se compilan con paquetes de ejecución entonces funciona correctamente.
Por otra parte es curioso que aun cuando el mensaje de la excepción no se muestra correctamente, éste si se incluye en la propiedad Message del objeto excepción:
Código:
try
except
on E: Exception do
ShowMessage(E.Message);
end;
// Saludos