Have you tried running Comchecker from Microsoft to verify that MDAC is really the issue?
If it's MDAC that's causing your problems, I feel your pain. Starting with Windows 2000, Microsoft now considers MDAC as operating system files. Therefore MDAC components are now covered by Windows File Protection in versions after 2K including XP . This means that if you try to upgrade or even re-install MDAC, the install will look like it completes successfully, but no files are actually updated. Or more properly, the original MDAC components are still there because WPF protects them from being overwritten by the install.
It can be completely maddening but there are a couple of workarounds that can work depending on your situation. First make sure you have a backup or image of your client. Then try this link that explains disabling WPF and clearing the dllcache for starters (all appropriate cautions apply):
If that doesn't work (and I have seen it fail) there is another way to force an update from a cmd file but our network guy that ran this for us is out of the office right now and I can't seem to find the original link. I'll keep looking as time permits and see if I can find it for you.
My hovercraft is full of eels.