Hola:
Bueno es que no es problema de lo que el programador anterior hizo, yo te comento que hace tiempo use la combinación BDE - Oracle y ultimamente BDE - DB2 y fue los mismo, lo que hago regularmente es:
Código Delphi
[-]
qry.Open;
qry.Last;
qry.RecordCount;
Y con eso recupero el número de registros que trae el Set de datos, solo que hacerlo asi trae una consecuencia grave, si el número de registros es grande, llamar al Last es estropear el programa.
Por último te comento que he trabajado con componentes DBExpress para las mismas bases de datos y funciona como originalmente lo tienes
Saludos