Not talking just about the timer issues... there's also the whole approach behind generating the waveforms - aka the aforementioned "clicks and pops" issue (an accurate model would fix it by always treating silence as a straight line either at the "top" or "bottom" of the waveform, rather than the center, but that would screw things up for the mixer by introducing a permanent offset/bias).
A different issue, but it's yet another example of how problematic a 100% accurate model could be.
Well, that bias problem could be solved by adding a high-pass filter to the DOSBox mixer. In fact, it would be a good idea to add it anyway, as the OPL emulation output has such a bias for certain pieces of music, and that interferes with the surround processing on some soundcards, such as the Sound Blaster X-Fi series.
I actually wrote a simple 4Hz high-pass filter for Winamp's Nullsoft Signal Processing Studio DSP plugin. Works wonders for making synthesised music stop screwing with my sound card.
Here's the source for the preset, which can be copied into the relevant boxes in the editor. It's based on Wikipedia's sample code for a high-pass filter, just modified to work in the Signal Processing Studio.
Initialisation code:
1assign(megabuf(0),0); 2assign(megabuf(1),0); 3assign(megabuf(2),0); 4assign(megabuf(3),0); 5dt = 1/srate; 6RC = 1/(2*$PI*4); // set time constant for 4Hz corner frequency 7alpha = RC / (RC +dt);