One ScriptEase feature that you should keep in mind is that all functions remember the global object in effect when they are created and use that as their own global object when called. A script file, especially header files, may be self-contained packages that add functions and variables to the global object in initialization. Those functions cannot work if they are run under a different global object, they need their global object in which their definitions are stored. Therefore, specifying a different global object for a function to run under has no effect, because it is changed back when the function is actually run.
If you'd like to turn off this behavior, you can use define:
#define JSE_MULTIPLE_GLOBAL 0
in your jseopt.h file. Be warned, doing so may make script function libraries written by other people incompatible with your application.