It clearly has to be GSX causing this.
That's not sure. What is sure, is that GSX doesn't contain any reference to that variable anywhere in its code, this is not really open to discussion.
But something like this is still possible with L: variables because, they way they work, they are linked to a numeric ID, which can change during the simulation, usually when the airplane model is changed, which triggers a complete GSX restarts so, it would be impossible to have a conflict between IDs, since all variables used by GSX are being registered again with the sim after a complete restart.
GSX always checks with the sim if an ID is already used, before trying to register one of its own L: variables it needs to write to, but every other add-on should do the same, to prevent these conflicts. We don't do it before *each* write, because we used lots of them for animations, and asking the sim if a variable ID is available continuously would likely cause stuttering in animations and, during those years GSX has been out, we never had any problems of conflicting variables with different names ( which can only be caused by conflicting IDs ).
In fact, so many 3rd party airplanes use a large number of custom variables for visibility or animation, if this was a problem in GSX, it should happen with every airplane, at least those that use custom L: variables.