Tengo entendido que como parte de la optimización de código, si no usas la variable de control dentro del ciclo, este se ejecuta de adelante hacia atras (de 10 a 0). Cuando usas la variable, va correctamente de 0 a 10.
Desconozco las razones por las que el contador hacia atras puede ser mas óptimo que el contador hacia adelante.
Hasta luego.