El cliente no inicia ni finaliza transacciones, lo tiene que hacer el server
En ves tener procedure ActualizarTabla o lo que fuera, convertilo en una function, que te devuelve true si se pudo actualizar, o false si entra en el Except. Dentro del except ademas de retornar false haces rollback de la transaccion. Luego, en tu cliente, podes hacer algo como
Código Delphi
[-] if (Proxy.ActualizarTabla) then
ShowMessage('Datos actualizados')
else
ShowMessage('Falla al actualizar')