Cudos to Lei and everyone else who found the real problem.
It appears that Wine's implementation of the NtQueryDirectoryFile and all other functions that ending up calling it have a major problem. They will fail if called on symlinks into directories outside $WINEPREFIX which contain $WINEPREFIX itself (aka loop scenarios). Ex:
c:\windows\profiles\vitaliy\Desktop -> $HOME/Desktop - works c:\windows\profiles\vitaliy\My Documents -> $HOME - does not
The reason of this is clear - we have to stop any "loops" that are not common on windows (but possible with reparse points). There are lots of "smart" programs that will scan all of available drives and of course they will lock up in the never ending cycle if loops are allowed.
However, as I recall this configuration was a result of the long discussion about desktop integration. And use of symlinks was the best solution. It appears it is not a solution. Quite an opposite - it just plain doesn't work.
So should we go back to the drawing board and and rethink our approach to the desktop integration? Also what can we do, if user configures such a loops him/her self?
Vitaliy Margolen