Irgendwie verstehe ich dein Post nicht.
1. 8 Verkettungen sind kein Problem. Das funktioniert.
2. Hast du geprüft, ob auch wirklicht
alle Vergleiche stimmen. Nur wenn das ja der Fall ist, dann geht er in den if-Block rein.
Und jetzt kommt das was ich nicht verstehe. Warum ersetzt du das then mit true? Wenn dann müsstest du folgendes machen:
Hier hast du aber nur
eine Bedingung und nicht acht, welche übereinstimmen müssen, damit du in den Block gehst.
Ich behaupte jetzt einfach einmal, das Programm arbeitet korrekt und irgendein Vergleich stimmt nicht.

Aber das kannst du prüfen. Setze einen Haltepunkt und dann kannst du mit der Maus über die Variable gehen um den Wert zu sehen. Alternativ kannst du im Popup-Menü unter Debug für die Variablen eine Überwachung einstellen. Dann siehst du auch, welche Werte diese Variablen haben.