I don't think that there's an absolute rule that the most recent DLL is the best for all applications. There may be other compatibility problems waiting for you if you over-write an application's own version in favour of the "vanilla" MS version.
However, I don't see any problem, if you are experiencing glitches, in carefully hiding a application's DLL under a safe name while substituting it with another version. If it all goes really pear-shaped then you've always got safe-mode and returning to the last known working status.
But all this is time consuming and ultimately very boring unless you hit pay-dirt early in the proceedings; when that happens you feel very pleased with yourself!!