Hello again,
I've got a very detailed response from Apple Developer Team:
Engineering has determined that this issue originates with a 3rd party.
Why it is not a common issue before Mac OS X 10.5.7
On Mac OS X 10.5.6 & prior, the USB audio driver publishes 2 audio engines, one for input stream and another for output stream. Applications could change sample rate on one audio stream without affecting the other stream. On 10.5.7 & onwards, a change in the USB audio driver publishes only 1 audio engine for both input & output streams. Changing sample rate on one stream will affect another stream (technically, the sample rate resides on the audio engine, so changing the sample rate naturally affects both streams). So in this case, changing the sample rate causes the input stream to run at a different rate that originally when Ventrilo launched. Ventrilo doesn't handle the sample rate change properly, resulting in the audio corruption (robotic/garbled, etc).
(a) This problem actually could occur on Mac OS X 10.5.6, depending on the USB audio device used. If the device can only support one sample rate, then this problem will also occur after the USB audio driver switches the sample rate on both streams when it detected one stream is falling behind.
(b) This problem is not specific to USB audio driver. Using Ventrilo for example with Firewire audio device also exhibits similar issue. The Firewire audio driver also puts input & output audio stream on the same audio engine.
In conclusion, this is a 3rd party application developer issue. Ventrilo (& other programs such as Mumble) need to listen to and handle sample rate change properly.
*Please feel free to contact the 3rd party vendor (Ventrilo, Teamspeak or Skype as appropriate for your case) regarding this issue to help alert them of its importance.*
So that would mean, that the problem does not occur in Apple applications like iChat, as I presume they know how to handle a sample rate change correctly. So the only way of getting rid of this issue is to contact developers of Skype, Teamspeak, Ventrillo, etc. ... despite the fact it seems a little odd that all of those did the same mistake 🙂
So in conclusion I will try to communicate this issue to Skype, Teamspeak and Ventrillo developers.