Yes, it's related to bad software development, but at the end the final users will affected. Most of issues probably could be resolved forcing compatibility mode (where the OS doesn't it automatically for you), but most of finally users, like 98% of Windows users, will complaint Microsoft about that.That's not a smart choice imo, especially if maintaining the the 6.4 version could solve that.
It's funny because Microsoft invests huge amounts of effort to maintain backwards compatibility, supporting 3rd party developer's dumb mistakes, but 99% of the time, people don't notice it. But the second something does break, everyone criticizes Microsoft for either (A) shoddy programming that fails to maintain backwards, or (B) maliciously trying to make users upgrade by ending compatibility.
The longer Microsoft is alive, the more stuff they have to support, so they eventually need to cut support for the oldest software. They can't cover every developer's deliberate abuse of undocumented features. Developers should obviously know the version number is going to be different on different versions of the OS - that's what the version number is for!
Users only notice when something breaks. Users don't notice the million times something doesn't break. Kinda like the CIA's motto: "Our successes are secret, our failures are known."