I thought we discussed on IRC why this is a bad idea? Anyway, you can't do this. Removing the AddRef in QueryInterface is a pretty blatant violation of COM specs, and is pretty sure to cause problems somewhere. The caller of that function won't always know if the object it's called on is a wined3d object or not, and will depend on the behaviour of QueryInterface as defined by COM. Another thing is that know we get a situation where wined3d objects behave differently from all other COM objects.
Also, if, as you stated earlier, the idea of these patches is *not* to get rid of COM in wined3d, I think they're a bad idea. Because in that case all it will do is make wined3d violate COM rules.