Lo normal, o al menos es como yo lo uso, es comprobar las condiciones de cancelación ANTES de hacer cualquier tarea transaccional y si las comprobaciones indican que el alta debe ser cancelada ejecutar:
Efectivamente con las dos instrucciones que indicas ya cancela el alta en el trigger anterior al alta de ficha.
Como con una única instrucción de finalizar proceso no cancelaba el alta, di por supuesto que la transacción ya se había iniciado y había que cancelarla, pero no es así.