Hola. Creo que la consulta esta bien planteada, como tu dices el CAST no lo realiza, imagino por el caracter "." de la cadena del varchar.
A consecuencia, yo intentaría primero borrar los puntos y luego hacer un cast o una conversión a entero. Seria algo como esto:
Para reemplazar un caracter en mysql creo que se usa la funcion "replace"
REPLACE('cadenaAreemplazar', 'caracter_que_reemplazaras', 'nuevo_caracter');
asi que la consulta quedaria asi:
Espero que te sirva la idea.
Un saludo