You are not asking too much of vbs; you just not ask clear enough.
In the statement like
[tt] executeglobal <expression>[/tt]
not only what done in the expression would be made available to the "parent", what avail in "parent" is also stand-ready for the expression to use.
When you load up classloader.vbs, you supply, do you not, the directory to it, say, 'd:\class_container" for instance. Hence that piece of information is know.
[1] In the "parent", set up a variable.
[tt]
dim sdir_container
sdir_container="d:\class_container"
[/tt]
[2] In the classloader.vbs, you can set up the same variable. And when you need to load commonclass, you check the variable if it is empty. If not, use it.
[tt]
dim sdir_container
'etc etc
if not isempty(sdir_container) then
'use it to point to commonclass: it will be in the same directory of the classloader.vbs itself.
else
'use currentdirectory of the "parent" or some other alternative
end if
[/tt]
Then, it is done.