He tenido este problema antes. La propiedad ConnectTimeout solo se aplica a los tiempos de espera que se producen al conectarse a la base de datos, no a las consultas.
Tiempo de espera del comando sin embargo, especifica cuánto tiempo se debe esperar para que se devuelva la consulta. Creo que el valor predeterminado es de 30 segundos. Verifique dos veces la documentación de su biblioteca MySql, pero para SqlCommand, CommandTimeout está en segundos, no en milisegundos.