Por el código que tu comentas, se supone que en ningún lado estés redondeando.
¿Estas seguro/a que la consulta no retorna los valores redondeados?, porqué no sigues paso a paso tu código, o muestras los valores de tu Query en un grid o similar.
Por el tema de redondeo, te recomiendo este hilo:
http://www.clubdelphi.com/foros/show...&threadid=2643