Wenn du eine Anwendung als anderer User startest, so hat diese keine Umgebungsvariablen. Folglich ist auch %APPDATA% nicht besetzt und kann deswegen nicht aufgerufen werden. Ähnlich sieht es mit dem Favoritenordner aus, der nicht in APPDATA liegt, sondern im Benutzerprofil. Du müsstest deinem Prozess also die richtigen Umgebungsvariablen mitgeben.
Bist du dir hundertprozentig sicher, daß die Shellfunktionen sich auf die Umgebungsvariablen verlassen?