Logged In: YES
user_id=1600284
Originator: YES

The above description did indeed fix the out of scope variables issue, but I hadn't realized until now that the event hooks were getting evaluated twice.  The first time they are evaluated is inside the if/else clause that checks to see whether another interpreter is in use or not.  In this case, the uplevel 1 was used when evaluating in the current interpreter so variables were indeed in scope.  The same event hook is then evaluated a second time by the eval command just below that if/else clause and at that point the variables are out of scope.  I believe the fix is simply to remove that eval.