About I_ScrollOpened - there is no such condition in the .exe.

It's probably just grabbing whatever value is on the top of the stack, which is probably non-zero so it evaluates to true. Then, doing set_counter scroll 0 probably pushes the 0 on stack and the while loop exits...

Try changing it to "while EarthIsFlat". If it still works, it's a pretty good indication that's what's going on.