http://bugs.winehq.org/show_bug.cgi?id=17776
--- Comment #8 from Ben Anderson roothorick@new.rr.com 2009-05-06 19:41:41 --- Twelve Sky (http://12-sky.aeriagames.com/) exhibits this problem.
Based on a discussion in freenode #winehq, I'm now fairly confident that this is NOT a regression in Wine, but a regression in the Linux kernel FAT support. It looks like a regression in Wine because with an earlier Wine in an earlier kernel it worked, but not now. As early as 1.1.5 are showing this bug. Easy test -- what kernel were you running when it worked? Try using 1.1.20 under that kernel, see what happens.
Specfically -- and this is a guess -- I think stat() is returning different values for files not yet committed to disk. IShield sees this, and assumes it's being silently denied access to certain features when in fact what it wanted actually happened, it's just being hidden due to this bug. A workaround would be to sync() before stat() calls, but that will have a SEVERE impact on performance.
I'm gonna try NTFS via NTFS-3G, see if it happens there. If not, I'm switching.