Sorry. I've been programming for 20+ years, but only dabbled briefly in VB5 for a year or two... so I really don't understand anything you just said.

Perhaps VB's usage of these terms differs from the norm, but I was in fact paraphrasing when I used the word "ByRef", hence the paraphrases and exclamation mark. My suggestion is the closest thing to "ByRef" that mIRC would be capable of -- scope expansion as you call it.

As far as Sub-routines go; Aliases ARE sub-routines with the bonus that they can behave like functions if you pass parameters to it. You don't pass parameters to sub-routines (ie, GoTo in most languages) and variables from the caller ARE accessible to the called.

My suggestion is simply a lower level GoTo/Label by a different name, using existing addressing schemes.

Well. At least I won lunch.
Good philosophy, see good in bad, I like!