Hombre, para empezar (y no despistarnos) deberías de haber puesto las sentencias sql originales y no con "máscara"
Y lo segundo, y más importante,
no es un error, así como lo lees
Eso te pasa por usar
float para esos menesteres. Mejor incluso que
double, usa
numeric.
Haz una búsqueda por los foros, es un tema que se ha tratado en diversas ocasiones.
Por cierto, yo también pensaba que era un error que yo fuese tan feo, fui al médico por si era alguna deformidad debido a alguna extraña y desconocida enfermedad. El médico me contestó que no era ningún error, sino que yo era así por naturaleza, feo, feo, feo...
Y no por eso voy gritando por ahí ¡¡¡soy un error, soy un error...!!!
Moraleja: que no vayas gritando por ahí que firebird tiene un error muy grave, cuando eso no es un error, es lo normal.