Like I replied over at appvirtguru.com, virtual environment variable processing in App-V Client is likely so that they are only set to process launched via CODEBASE FILENAME.
Since the behaviour of [virtual] environment variables isn't really documented anywhere, this is purely based on my guesstimate how things are handled. Maybe someone of MS could comment on this particular subject?
/Kalle