I advise people to assume/pretend that public variables are a bad idea 100% of the time, so they will find alternatives. I definitely agree that as a general guideline/practice, they should be avoided. And again, going back to the original example, they were unnecessary.
The only exception I ever made is for variables without any scope - i.e., global to the entire application. They're usually pretty limited (again, example I use is Company Name, Current User signed on, etc.) Most of the time there are a handful - that's about the only time I ever use them.
Additionally, I believe one example (yours) had the basic structured exception handling, as opposed to the other example with ON ERROR.
And good point on @SAY....GET....wow, that was about 1987? Certainly rings a ?? chr(7) :)