My guess - There are many such anomalies, if avast is using the C++ 2008 libraries, etc. then it won't be looking for later versions in a different location.
This happens with some programs using .net they are looking for the version they were built to run under. I had a problem that needs .net 3.5 and I though I was being clever when I installed .net 4.0 thinking it would be backwards compatible, my error it wasn't.