そういった事情を踏まえて、複数のバージョンを同時に保持できるサイドバイサイドという仕組みが Windows XP 以降導入され、古いバージョンから新しいバージョンを持つことができるようになっています。
Visual C++ のランタイムは基本的に、発行者ポリシー(この場合は Microsoft が設定したポリシー)によって、より新しいバージョンを使うようにリダイレクトされます。なので、古いバージョンを残していても、基本的に新しいバージョンが読み込まれます。 ただ、アプリケーション側では発行者ポリシーを無効化することもでき、その場合は古いバージョンがないと動きません。