When I think about it, the rules seem fairly obvious and common-sense:
"Text inside quotes is intended to be treated as quoted text"
Unrecognised text outside of quotes is only acceptable when creating a new 'variable = value' statement.
An appropriate '=' assignment operator is an essential pre-requisite for variable creation or modification.
So obviously a bug must exist if it can create new variables from unquoted text that doesn't even have an accompanying '=' to assign any value (even if the value might be empty or nul).
But considering there is no '=' to assign any value, a second hidden bug is the worst, because rather than just creating an empty variable, it populates variables with an echo of the unquoted text, thereby creating a text variable as a fait accompli.
If the first 'undeclared variable creation' bug just created an empty "" variable it might be managed with 'if variable=""' which could be responded to as appropriate, but the second hidden 'echoed contents' bug causes the unwanted populated variables to become text whether you like it or not.
I don't suppose many other people are using 525 line scripts and scores of potential variables yet... but as the uses and capabilties of Esp_Basic grows, so too will the script sizes, number of variables used, and the complication of variables usage - so I think the above bug(s) will impose constraints on any future growth and real-world use of ESP_Basic, even though no-one else is bothered by the bug at the moment.
So I expect it's going to need looking into and resolving eventually, therefore the best I can do is offer detailed info which might be considered relevent or useful now or later, even though that just makes me seem like a noisy annoyance most of the time. If my comments lead to improvements then I can feel I've been able to usefully contribute in a small way, and if they are ignored then at least I'll know I've done my best - even though that then means looking for some convoluted way around any remaining problems I have.
In this case it should be possible to treat all variables as text then convert any (such as udpport etc) to or from numeric whenever necessary, but that's a lot of unwelcome aggro, so I'll hold off for a few days in case a fix is issued. I suspect it might be quite easy to change the bug2 code so that it filled bug1's empty variables with empty "" data rather than echoing in the name text, but unfortunately I am not a programmer and don't have the 'smarts' to do anything useful myself, so I can only point things out for a wizard to magic up if considered appropriate.