I looked at the behavior of the Windows 7 start menu and it is quite arbitrary:
- If you start a program by just typing its exe name (assuming it is found), then it starts in the user home directory
- If you start a program by typing the full path name then it starts in the directory of the exe
- If you place a shortcut in the start menu with no explicit working directory then if you just click on it the exe will start in System32
- Unless you search for the shortcut and run it, and then it starts in the directory of the shortcut (inside the actual start menu folder)
I don’t think this makes sense. It shouldn’t make a difference how you start something. I think the correct behavior is to use the directory of the EXE because it may have some auxiliary files that it needs to function correctly.