Well, it's tough question

Originally MS intention was/is to avoid bug exploration (remember JPEG decompressor issue - that library contained buffer overflog bug and was embedded in many MS products). So yes, in theory MS wants to update bugged versions of D3DX9 with Windows Update (but AFAIK there was not any bugs found in it). And you MS can't just substitute generic D3DX9.dll as each new version have it's own quirks (especially in HLSL compiler). So just replacing DLL will lead to many games stop working correctly - this definetly is not what MS wants!

On the other side you by yourself can check availability of preinstalled D3DX9_xx.dll's and choose to use one of the existing instead of installing your own - but in this case all compatibility testing burden is on your side!

PS. DirectX EULA prohibits copying D3DX dlls in application folder and requires app to install them with generic DX installed (not just by copying them with your own one) - this one is intended to make sure that app is always using bug-free version in System32 dir (that is controlled/updated by MS). On the other side - I've seen commertial games that placed this DLL in their own folder...