Parece haber un límite de seis dígitos en lo que se muestra fuera de la CLI (y probablemente en otros lugares). El ejemplo que tiene es 1.12305e-06, que es 0.00000112305, que se mostraría como 0.00000, aunque claramente no es cero.
Si insiste en usar flotantes o dobles, tendrá que forzarlos usando algo como round(columnName,5)
para forzar la visualización en un valor decimal. De lo contrario, tal vez cambie a un tipo de datos decimal.
Desde http://dev.mysql.com/ doc/refman/5.0/en/floating-point-types.html
Debido a que los valores de coma flotante son aproximados y no se almacenan como valores exactos, los intentos de tratarlos como exactos en las comparaciones pueden ocasionar problemas. También están sujetos a dependencias de plataforma o implementación. Para obtener más información, consulte la Sección C.5.5.8, “Problemas con valores de punto flotante ”
También vea este hilo en los foros de mysql sobre este problema exacto.