http://bugs.winehq.org/show_bug.cgi?id=2159
------- Additional Comments From dmitry@codeweavers.com 2006-25-01 10:38 ------- The problem most like is caused by a difference between collation tables used by Wine and Windows. Wine uses unicode.org data to build its internal collation table. We can do nothing to improve the things, we can't just patch Wine side, it will be overwritten next time we do a merge from unicode.org.
Btw, what's your locale? CompareStringA may behave differently in different locales because it uses current ANSI code page to translate strings to unicode before a comparison. What happens if you change your locale?
LC_ALL=en_US wine app.exe
just change en_US to something else.