http://bugs.winehq.org/show_bug.cgi?id=35069
--- Comment #1 from Andrew Eikum aeikum@codeweavers.com --- I can reproduce this.
Looks like the problem is waveOutGetPosition basically returns the amount of frames that have been written to mmdevapi, instead of how many frames have actually been played.