Sound generation in DOSBox is quite bit more complicated.
Dosbox calculates on a high resolution timer every now and then a few sound samples.
(I recall around 20-40).
Aside from this there is a call from SDL that requests sound data every now and then (for 2048 samples).
At that moment DOSBox uses the precalculated data. If there isn't enough.
It used to skip AND increase the speed of the high resolution timer. So that the next time more data is available. The skipping increases the amount of data as well! (as the allready generated data stays)
If there isn't enough:
It stretches the available data (which is a tiny bit bugged (algorithm wise)).
And continues. (well technically it sometimes stretches the data itself in order to create a small prebuffer). As there are no skips anymore the data will not be restored with it.
And there is no increase in the generation speed of the new data.
The increase of the generation speed could resulted in DMA sounds being played at the wrong speed.
I think I will send Jez a debug version of dosbox with some log messages in it.
If he plays colonization with it I'm quite sure I can see in the logs the exact moments of the sounddistortion. Perharps I can figure out why happends so often at his place.