Palma da cara!!!!
Floats são números de 32 bits armazenados como mantissa e expoentes. Não tenho 100% de certeza de como o MySql dividirá o armazenamento, mas, tomando Java como exemplo, eles usariam 24 bits para uma mantissa assinada e 8 bits para um expoente (notação científica). Isso significa que o valor máximo que um FLOAT pode ter é +8388608*10^127 e o mínimo é -8388608*10^127. Isso significa apenas 7 dígitos significativos, e minha definição FLOAT usou 8.
Vamos mudar todos esses 8,2 para DOUBLE de FLOAT.