It's a matter of choices and also personal preferences; some software do, some don't, and there are cases when the auto-switching it's really usefull while other times is annoying
For example, my joystick profile softwares do not (the Saitek one, Joy2Key, MotionInJoy and so on...) and that way I can decide, on a case-by-case basis, if i want to have a common layout of buttons active or a specific one... also, they are easier to use for emulated programs, where the actual software is not the same as the executable running (for example think DOSBox, virtual machines, console emulators etc..)
The Logitech software, for my G11 keyboard, on the other hand does have indeed auto-switching but it's mandatory (you need to specify an EXE when saving the profile), and I hate that...for my MMOs for example i always use the G1-G18 macro keys as CTRL+1,CTRL+2,... and the auto-switching forces me to duplicate the same profile over and over just to change the EXE name, when i could only have one for everything
I guess that it because VA compiles that list from the running processes and, while it shows the user simply the name of the EXE, internally it binds the commands to its ProcessID; when you close and restert a program, its ProcessID changes everytime