http://bugs.winehq.org/show_bug.cgi?id=20799
--- Comment #9 from Chris chris.kcat@gmail.com 2009-11-26 05:37:42 --- This seems to be a well-masked DSound/winealsa bug.
To clarify, the freeze that happens is actually a crash that the game tries to catch, but ends up getting stuck. The DLL stub came up as the first bad commit because it only adds stub functions. If anything tries to call those functions, Wine will purposely crash/abort. Wine 1.1.30 still crashed because the game tries to open the "Generic Software" or "Generic Hardware" device, which the DLL did not yet handle (it does now), and the host libopenal also doesn't.. so opening an audio device fails, and the game crashes.
Fast forward to a recent Wine Git, and you have commit 059017f9143d08c007f24e04a7249d2d1d24fcf2, which enables "full" audio acceleration when ALSA doesn't have mmap. Before then, a device without mmap automatically fell back to "Emulation" for audio acceleration. But now, it goes ahead with "full" audio acceleration and hits a code path that some drivers apparently don't handle as well as others.
Long story short (too late): initial commits for OpenAL caused failures, but were fixed soon after Wine 1.1.30. Some time before a recent Git, a winealsa bug was exposed for non-mmap devices, that only certain drivers seem to trip over. I'll attach a patch that should fix that bug for non-emulated dsound with winealsa. If you could test it with Full audio acceleration, that would be great.