¡¡¡Mareante!!!
Lo raro es que no te hayas quedado sin memoria, en versiones anteriores de firebird, creo que hasta la v1.0 el tamaño máximo para los procedimientos, triggers, etc. era de sólo 32 Kb. Así que había que seguir el lema de "devide y vencerás"
, haciendo lo que has hecho, procedimientos alternativos que se llaman desde el principal.
Lo malo de ese "mogollón" es que como algo no funcione bien te tienes que concentrar "mu bien concentrao" para descubrir el problema