Creo que aquí hay un problema de diseño, puesto que aparentemente hay una recursividad infinita. Desconozco el método que sigue firebird para lanzar el error, pero estoy convencido que el límite será suficientemente alto como para ocurrir solo en casos donde efectivamente se da este caso.
Por otro lado, de la explicación que das, no entiendo por que el sp manda actualizar nuevamente el registro que lanzó el trigger...
Hasta luego.
