Here's the thing .. unless Microsoft start using industry standards nobody else is going to create software that is 100% compatible.
They don't release the code so people can see how it works, so without decompiling their software (illegal, and from what I gather inaccurate) and attempting to work it out, then creating something that doesn't duplicate any of their code (which you'd not be 100% sure of), or breach any software patents, it would be a massive task that in the end may put you at risk of being sued out of existence.
So nobody can be bothered .. it works "well enough".
For 100% compatibility with anything Microsoft, there is only one route open to you .. pay Microsoft .. that's the way Microsoft like it.