Thank you for the comments. First I would like to say that I agree with everything that you say here. My philosophy in general when working on other people's code is to 1) maintain the existing style, and 2) make the minimum changes needed in order to accomplish what you are trying to do. That said, this code was bad before I touched it. The use of these multiple global variables, and especially not initializing them when they are declared was a bit alarming to me. But, I figured, perhaps incorrectly, that this is stable, long-standing code, and who would I be to come in with a hatchet and rewrite it? Rewriting code often introduces new bugs, and if the existing code is stable, I would not want to do that.
But your points are correct, so I will perhaps take a stab at cleaning up this code in the coming weeks, when I have time to do so. The fact that you are currently in code freeze will give me some time, it seems. In answer to your final question, no, there is no app that I am aware of that is relying on this functionality. It's just been a personal annoyance to me for quite some time.