Teste es.
Stellst du in meinem VI 5000 ms ein und lässt es laufen, wird die Schleife nach ca. 5 Sekunden verlassen (und das Programm stoppt). Genau wie bei dir.
Mit dem Stopp-Button kannst du den Wartevorgang bei mir jedoch abbrechen. Und genau das geht bei deiner Warten-Funktion nicht. Wenn du eine Wartezeit von 30 Sekunden einstellst, muss du nach dem Klick auf "Stopp" bei dir im schlimmsten Falls knapp 30 Sekunden warten, bis sich das Programm beendet. Bei mir beendet es sich nach wenigen Millisekunden.
Aber was du ganz genau machen möchtest, wird aus deiner Beschreibung nicht klar.
Wie gesagt müssen die Benutzereingaben irgendwo parallel ablaufen, wenn deine Berechnungen/Wartezeiten keine Eingaben verhindern sollen.
Mein Beispiel-VI zeigt nur, wo du ansetzen kannst und auch während der Wartezeit Benutzereingaben ermöglichst.
Wenn du die erwähnte Ereignisstruktur nutzt, siehst das ganze wieder anders aus, da die Eingaben dort ablaufen und die Berechnungen/Wartezeiten leicht ausgelagert werden können, z.B. über die angesprochene Queue.
Vielleicht wäre es sinnvoll, wenn du ein komplettes Demo-VI hochladen würdest.