http://bugs.winehq.org/show_bug.cgi?id=28982
--- Comment #18 from Jari Vetoniemi mailRoxas@gmail.com 2011-12-01 15:59:52 CST --- Actually, it seems like the crash has been fixed in wine already it seems. Better way than mine at least. The reason for it seemed to be access to uninitialized variable.
There is still the BGM looping issue however, but the solution for it isn't in mmioRead. That seems to be just a hack, I'm still looking the real cause for this. It might not be in winmm at all for example (maybe alsadrv?).
Anyways, this bug can be marked as fixed now.