My callflow variable is ConfirmCaseNumState and it is initially set to "0". When it reaches the menu branch, according to what the digit is pressed on the menu, the expression "1" is stored in option 1 and expression "2" is stored in ConfirmCaseNumState.
Then the loop checks if ConfirmCaseNumState is NOT_EQUAL to "1".
Here's some screenshots:
Option 1 where variable ConfirmCaseNumState == "1".
Option 1 where variable ConfirmCaseNumState == "2".
Loop condition where it checks if ConfirmCaseNumState != "1".
When I look at the 3CXIvrServer.log, this is what I get based on the call:
09:08:29.796|3732|VXIMachine.cpp(806):IvrDll, CallSession::RegisterPrompt(), Added prompt C:\ProgramData\3CX\Data\Http\Interface\ivr\TRC-IVR_Debug_170\TextToSpeech\TTS_0_2015_02_27_09_08_29_297.wav
09:08:30.747|3732|VXIMachine.cpp(1072):IvrDll, CallSession:

rompts_Play(), Play Queued files
09:08:51.399|3732|VXIMachine.cpp(1108):IvrDll, CallSession:

rompts_Stop(), Stop playback
09:08:51.502|3732|VXIMachine.cpp(806):IvrDll, CallSession::RegisterPrompt(), Added prompt C:\ProgramData\3CX\Data\Http\Interface\ivr\TRC-IVR_Debug_170\TextToSpeech\TTS_0_2015_02_27_09_08_51_451.wav
09:08:51.732|3732|VXIMachine.cpp(806):IvrDll, CallSession::RegisterPrompt(), Added prompt C:\ProgramData\3CX\Data\Http\Interface\ivr\TRC-IVR_Debug_170\TextToSpeech\TTS_0_2015_02_27_09_08_51_551.wav
09:08:51.885|3732|VXIMachine.cpp(1072):IvrDll, CallSession:

rompts_Play(), Play Queued files
09:09:05.969|3732|VXIMachine.cpp(1108):IvrDll, CallSession:

rompts_Stop(), Stop playback
09:09:12.291|3732|VXIMachine.cpp(806):IvrDll, CallSession::RegisterPrompt(), Added prompt C:\ProgramData\3CX\Data\Http\Interface\ivr\TRC-IVR_Debug_170\TextToSpeech\TTS_0_2015_02_27_09_09_12_217.wav
09:09:12.442|3732|VXIMachine.cpp(806):IvrDll, CallSession::RegisterPrompt(), Added prompt C:\ProgramData\3CX\Data\Http\Interface\ivr\TRC-IVR_Debug_170\TextToSpeech\TTS_0_2015_02_27_09_09_12_316.wav
09:09:12.538|3732|VXIMachine.cpp(1072):IvrDll, CallSession:

rompts_Play(), Play Queued files
09:09:24.602|3732|VXIMachine.cpp(1108):IvrDll, CallSession:

rompts_Stop(), Stop playback
09:09:24.602|3732|VXIMachine.cpp(806):IvrDll, CallSession::RegisterPrompt(), Added prompt C:\ProgramData\3CX\Data\Http\Interface\ivr\TRC-IVR_Debug_170\TextToSpeech\TTS_1_2015_02_27_09_09_12_396.wav
09:09:24.602|3732|VXIMachine.cpp(806):IvrDll, CallSession::RegisterPrompt(), Added prompt C:\ProgramData\3CX\Data\Http\Interface\ivr\TRC-IVR_Debug_170\TextToSpeech\TTS_0_2015_02_27_09_09_12_316.wav
09:09:24.639|3732|VXIMachine.cpp(1072):IvrDll, CallSession:

rompts_Play(), Play Queued files
09:09:34.843|3732|VXIMachine.cpp(1108):IvrDll, CallSession:

rompts_Stop(), Stop playback
09:09:35.011|3732|VXIMachine.cpp(806):IvrDll, CallSession::RegisterPrompt(), Added prompt C:\ProgramData\3CX\Data\Http\Interface\ivr\TRC-IVR_Debug_170\TextToSpeech\TTS_0_2015_02_27_09_09_34_962.wav
09:09:35.453|3732|VXIMachine.cpp(806):IvrDll, CallSession::RegisterPrompt(), Added prompt C:\ProgramData\3CX\Data\Http\Interface\ivr\TRC-IVR_Debug_170\TextToSpeech\TTS_0_2015_02_27_09_09_35_119.wav
09:09:35.726|3732|VXIMachine.cpp(1072):IvrDll, CallSession:

rompts_Play(), Play Queued files