O problema principal (apenas?) é a compatibilidade entre diferentes versões do Msvcr71.dll. Vamos supor que 7.10.0 seja ligeiramente incompatível com 7.10.1 e que um aplicativo App1 dependa do comportamento antigo e que um aplicativo App2 dependa do novo comportamento. Além disso, os dois aplicativos não enviam esse próprio tempo de execução do C ++. Nesse caso, um dos dois aplicativos falhará.
Com que frequência são esses casos? Eu realmente não sei, mas eu diria que eles são raramente.
Dependendo das diferenças entre as versões msvcr71.dll, um aplicativo falharia ao iniciar ou um determinado recurso não funcionaria.
Outra boa solução: o próprio PATH para cada aplicativo. Por exemplo, você poderia escrever um lote assim:
PATH=c:\PathToMSVCR71.DLL_Version_7.10.0
myapp1.exe
Dessa forma, você pode reutilizar a mesma DLL em vários aplicativos e atualizá-la com mais facilidade.
EDITAR É quase impossível estimar o perigo de uma colisão de versão, especialmente porque você não mencionou os aplicativos que você usa. É por isso que procurei todas as diferentes versões do meu PC (Windows 7 / x64). Eu encontrei os seguintes arquivos:
Todos os arquivos são apenas cópias destes dois: 7.10.3052.4 e 7.10.6030.0. 7.10.3052.4 é também o que dll-files.com oferece.
Eu também comparei a saída de dumpbin /imports /exports msvcr71.dll
para essas versões e nem as exportações nem as importações foram alteradas (como esperado).