http://bugs.winehq.org/show_bug.cgi?id=27087
--- Comment #7 from Jörg Höhle hoehle@users.sourceforge.net 2011-05-12 02:29:35 CDT --- The above commit is not the cause of your trouble. Proof: it's all about aborting a PlaySound player when the next PlaySound happens. However your log shows that even the first playsound is in trouble, when there's nothing to abort.
I'd start with a +all log, especially looking at +mmio. It's abnormal that waveOutPrepare is followed by waveOutReset without intervening waveOutWrite. It looks like mmioRead randomly returns <1, aborting the player? That's the initial problem. Please investigate that.
mmioRead doesn't yet explain why a later invocation of PlaySound hangs. Also have a look at +wave,+dsound. Perhaps the concurrent use of ALSA by dsound is related to the issue?