It was just as I had suspected - the variables/tokens are evaluated at the time that the enqueued command is actually executed. Since an enqueued command is only ever executed as a base command (and not a subcommand), this didn't seem like a problem. When a command is queued, it is out of scope in regards to the command that enqueued it (thereby losing access to command-scoped/shared variables).
So, what I did was add an option to the Enqueue Command screen that will let you evaluate the passed values at the point when the command is enqueued. That way the command-scoped/shared variables from the calling command can be accessed (before sending the enqueued command off for life on its own). Hope this is making sense o_O
If you are interested, I uploaded a build (v1.8.6.1 - just the .exe) to the, 'unofficial' bin:
http://voiceattack.com/u The only difference between that version and the full release version is this option (no other changes in there yet). This way you can get on with your work and not have to wait until the next beta ;) Simply replace your VoiceAttack.exe with this one and you'll be set.
Thanks again for pointing that out - I'm actually rather thrilled that this stuff is getting used ;)