Some applications and developers (cough *adobe*) tend to handle files in such a way that different versions of their applications really don't coexist well. You can install different versions, but more often than not, the only way to determine which program opens a file when the file is double-clicked is the program more recently installed.
When you install patches, this will often reset the tenuous preference settings (cough *microsoft office* cough).
With many of these programs, even if you go through the Open with... dialog and specify the correct executable in the correct version of the app, internal controls in the application will cause a different version than the one you've selected to open the program.
Best way to get around this? With office you can disable the auto-repair function. With other apps, IDK. But install the version you want to be "default" last, and make disable any auto-updating of OTHER (non-default) versions of the app so that they won't surreptitiously reconfigure themselves and your preferences get all messed up. Then if you want to open the file in a different version, open the version and use File-Open.
UPDATE adding potential workarounds in response to comment:
Writing a quick script that calls msiexec to run a repair on the particular office version you need to use as default may be a potential solution, depending on how you use the apps.
Such a script, running silently and depending on your system specs, may only take a couple minutes to complete. This may be workable if your needs are to use a particular version as default for more than a few hours at a time. Otherwise, the switch delay may not be worthwhile.