Este problema resultou do .Net 4.5.1 já sendo instalado no Vista SP2 para o Windows 7 RTM, que não é compatível com o .Net 4.5.1. Isso é adicionalmente complicado pelo fato de o Windows 7 RTM não entender o que o .Net 4.5.1 é e se comporta mal ao tentar removê-lo.
Parece também que o Microsoft .Net Cleanup Tool não reconhece que deve verificar esse cenário, uma vez que primeiro verifica o sistema operacional atual e não espera que o 4.5.1 seja instalado.
Após uma revisão adicional dos arquivos de log do instalador do .Net 4, consegui obter o GUID da instalação do .Net 4.5.1 e alimentá-lo manualmente no MSIExec para desinstalar usando o parâmetro da linha de comando / x e o GUID de instalação.
Após a desinstalação do .Net 4.5.1, a instalação das versões .Net, bem como do SP1, prosseguiu bem e os aplicativos .Net voltaram a funcionar corretamente.