Hola VRO!
Con respecto a esta consulta coincido en que es mejor hacerla directamente en SQL.
Ya que estás utilizando FireBird 1.5 puedes aprovechar la sintaxis de los
procedimientos almacenados para facilitarte este trabajo.
En la definición del procedimiento puedes declarar las variables y los parámetros,
utilizar sentencias IF THEN ELSE, WHILE , etc.
Un ejemplo:
Te recomiendo que busques información de los procedimientos almacenados en Firebird.
Un Saludo.