Hola. Ya está !!.
Bueno, pues resulta que como buen novato no me había enterado de alguna que otra cosa básica.
Yo pensaba que cuando una sentencia de "if" no se cumple y el programa termina de recorrer el código, yo pensaba que se volvía a un paso antes de ese "if" y resulta que no. Que él sigue adelante. Por eso yo pensaba que volvía justo a seguir sumando para incrementar el brillo del led,y en cambio lo que hacía era continuar, terminar el programa y empezar rápidamente.
Muchas gracias a todos por vuestra imprescindible ayuda.
Hoy ya estoy más animado con esto, jejeje.
Saludos.