En realidad está enmascarando la excepción, para mostrar un mensaje más "amigable", no es del todo correcto, pero dado que no oculta la excepción, me parece aceptable.
Añade esto a tu linea:
Código Delphi
[-]raise Exception.Create('Error al '+Caption+#13+
'Mensaje del servidor: '#13+e.Message);
Si quieres lanzar la misma excepción producida dentro del bloque except, usa solo :
Código Delphi
[-] Except
On e:Exception do
Begin
u.Transaction.Rollback;
ModalResult := mrNone;
raise; End
End;
Lo que nunca debes hacer es algo así:
Porque el programa dará un error y lo oculta, jamás serás capaz de saber que se ha producido un error y tu programa se quedará totalmente inestable a partir de ese momento.
Saludos