Bueno al final termine mi migracion casi 1 mes de trabajo pero ya estoy sobre Firebird 2.1.1 Dialect 3 y solo he encontrado un par de situaciones donde aun estoy investigando.
Primero que todo yo tambien cree hace muchos años mi UDF Redondear jeje, y no he tenido problemas de redondeos desde entonces.
Ahora bien lo que me paso esta vez fue lo siguiente:
Código SQL
[-]
declare variable porcentaje numeric(15,2);
declare variable valor numeric(15,2);
declare variable nuevo_valor numeric(15,2);
BEGIN
nuevo_valor = valor * (porcentaje / 100);
la situacion es que si lo coloco asi me redondea al entero mas cercano teniendo, pero si declaro la variable porcentaje como numeric(15,4) todo funciona bien.