MySQL realiza una conversión silenciosa para una cadena en un contexto numérico. Porque espera un número para el sum() , MySQL simplemente hace la conversión usando los "números" iniciales de una cadena. Tenga en cuenta que esto incluye puntos decimales, signo menos e incluso e representación de la notación científica. Entonces, '1e6' se interpreta como un número.
En el código, personalmente haría explícita la conversión agregando 0 :
SELECT SUM(parametervalue + 0) FROM table
Irónicamente, el cast() podría devolver un error si la cadena no está en formato numérico, pero esto no devolverá un error en ese caso.