Warum funktioniert dieser Sketch ?

  if (zaehler >=0){                  // wenn zaehler groesser oder gleich 0

Ist doch immer erfüllt ?

digitalWrite(ledPin[zaehler], HIGH);
digitalWrite(ledPin[zaehler], LOW);

Wird ständig durchlaufen. Bist Du dir sicher daß die LEDs nicht flimmern anstatt durchgehend zu leuchten ? In einer Geschwindigkeit, die das Auge nicht mehr wahrnehmen kann.

Edit:

Versuche mal folgende Ergänzung:

digitalWrite(ledPin[zaehler], HIGH);
delay(500);
digitalWrite(ledPin[zaehler], LOW);
delay(500);