simple solution: microsoft releases as scan utility that counts the number of unique deprecated calls. The higher the count, the more costly the software maintenance, and the less preferable it is. so, all companies can independently evaluate a piece of software and developers can't hide their shoddiness.
Companies often do - I've worked for shops that knew a rewrite was a good idea, and that hacking layers of old API onto their product was a bad idea in the long run.
But management isn't always focused on the long run.