That's the conclusion that we came to, finally, which is why the "fix" worked. It just didn't seem to be very intuitive with what we thought we knew about file-scoped lexicals.
I never use package variables for this sort of thing, since those can be changed from anywhere, and I really don't like tracking down "action from a distance" issues. In this case, though, it may be the right solution.
Thanks for the suggestion!
Cambo