Opus doesn't know you are using eval, and just handles requests that come from the Windows Scripting API. If using eval itself is breaking things then it must be running the JSCode, or sending the requests, in a context where it's either on a different thread or missing the objects/references of the original calling context. I don't know which, as I didn't implement JScript.
My advice is to not use eval, for lots of reasons in addition to this. Whatever usefulness it provides cannot be worth the extra complexity it causes. It's also going to make your scripts much slower.
(It's also possible the problem isn't eval but something else, of course. I'm assuming it's eval because of what you've said, but haven't verified that myself, as I'd already advise against using eval.)
There are ways to do libraries with Windows Scripting if you need that:
Not that I know of, unless Windows Scripting provides something for that.