Hi Chris,
thanks for the example - yeah I can see what's happening.
the key thing I think is that global, unthreaded, variables are unlike any other variables (file fields, locals, threaded etc) in that the "canonical" value is always in the actual variable, and not in the session queue. Everything else the session queue takes precedence.
there have been some tweaks to the way memory variables are handled in some cases, and I think this has spilled over into globals. For now (and probably for a while) it's probably a good idea to do as you suggest and prime the session queue in the pre-update embed. This will only affect a very small number of forms, and I'd rather not tweak the form more if I can help it at this stage.
cheers
Bruce