I tested this with version 0.9.5. It still fails.
If I comment the rainbow commands, the event handlers start working again.
I did more testing and determined that the program does continue to run briefly, but locks up after the 3rd iteration of the Do Loop. The Mouse Zone command is always returning 0. Commenting the Rainbow commands allows the program to continue running.
To test this, I added the following code to the Do Loop.
MYCOUNT=0
Do
M=Mouse Zone
Inc MYCOUNT : Locate 0,0 : Print "Zone: ";M,MYCOUNT
If I comment the Rainbow commands, I'll see the zone number appear when the mouse is moved over each of the buttons. I'll also see the count on the loop iteration.
If I leave the Rainbow commands active, the loop count will go to 3, and the AOZ application will freeze. I also can't break out with Ctrl-C.
I understand that the commands are not directly related in the code, but my suspicion is that the Rainbow command still has some kind of problem with a memory/buffer overflow. Remember that in the past, I've had problems with Rainbow commands not only crashing AOZ, but also Chrome and Windows! At first, I thought that perhaps the rainbows over-wrote the area of memory containing the zone data, thus causing the Mouse Zone to always return 0. Since the program stops running after the 3rd iteration of the loop, perhaps something else is going on?