ok() is for calls never expected to fail, broken() is for broken API implementations and should never be used for Wine.
Noted.
What's the source of info you have used for that?
It was on a comment to that post: http://blogs.msdn.com/oldnewthing/archive/2005/04/29/412577.aspx
It seems to have been deleted since then though. The comment said about the 0x7fff part, but not about the missing members. I found about the missing members through experimentation after that.
Then I'd say there is nothing to fix in Wine, go ahead and fix your app instead.
I thought the idea was that "if there's a quirk in Wine you need to work around, it's much better to fix it in Wine", as said on http://www.winehq.org/site/docs/wine-faq/index#HOW-CAN-I-DETECT-WINE
If I had to detect WINE and work around it, it would quite defeat the purpose I think...