Este tema es bastante recurrente en los foros, el problema no tiene que ver ni con firebird ni con los componentes, es una cuestion de como los computadores guardan la informacion con numeros en punto flotante: los ordenadores trabajan en formato binario (base 2) y numeros que tienen una representacion exacta en una determinada base (como por ejemplo base 10) no se pueden representar de forma exacta en otras (como base 2 que es como se guardan internamente los valores).
Aconsejo leer esta documentacion:
An Overview of Floating Point Numbers.
http://community.borland.com/article...,15855,00.html
En concreto la parte titulada:
"Round-Off Problems"
Saludos
Miguel