I was going back & forth with kyatric and there might be a bug in isOnScreen. Capx has been PM'ed to Ashley.
When starting the game notice that there are two grey planes criss-crossing, followed by two tan ones. Wait for the Game Over screen to show up and click its button. This resets all global variables and sends us back to the game layout. At this point there is an additional plane showing up at the beginning. When replacing the IsOnScreen function with a calculation based on current scroll value this problem can be worked around.
It looks to me like isOnScren is using the value from the previous run when we switch layouts ..