Necesitas hacer el commit de la transacción, pero no se si eso se puede hacer desde el SP (en caso que se pueda no sé como hacerlo), yo siempre lo hago desde el código Delphi :
Código Delphi
[-]
try
Comenzar transaccion;
Llamada SP;
Commit;
except
Rollback;
raise;
end