That will only happen if the app developer is sloppy. Version-checking is standard procedure when using third-party components.
Windows is volatile. If you treat it just right it’s great. Otherwise reboot it so all the dll’s will go back to the rock they crawled out of. All that dll stuff was created for one purpose. So people would not be able to copy an application and put it on another machine. And the registry, the ever expanding registry, that flat file heirarchical madness. All put there for one purpose, so people would not be able to copy an application from one machine and paste it to another. They made it hard to install apps on purpose. only problem, it made them just as difficult to uninstall them.