That seems easy enough to fix, just move that variable into global scope and clear it on destruction. There may not be a known application that relies on it, but no reason to add todo_wine to a test when just fixing the code is easier.
There is no reason to have such test to begin with, same as trying to match refcount values. It's clear and more straightforward to have a new instance every time, or a static factory. Using something global then brings a question about safety, why would we go there if we don't need it.
Why spend a patch on this? I don't think they're necessary, but they aren't really hurting anything.
Because interface checks have to make some sense. What are we testing with IAgileObject for instance?