Th garbled code is rather a difficult problem. GZIP, yes, it has something to with it. There's three ways of compressing pages: through vBulletin's admin panel, through httpd.conf (mod_gzip) and through php.ini (obzhandler or something, I'm not familiar with this). Whichever method you're using, one rule applies: use only one of these methods.
I've had the garble show up when I used both vBulletin's option and mod_gzip, ages ago. It's never been a problem until I upgraded apache to some newer version. Turning off vBulletin's gzip did the trick for me. But apparently that doesn't help everyone
Hard coding the applet size, not sure if that works. The applet code is parsed by php, and the variables in there are replaced with hard coded sizes before it's send off to the browser. Ofcourse it's no foolproof method. The sizes depend on whatever the javascript in the redirect page returns.
It doesn't matter whether you use a free chat version or a Pro or whatever version. I think it's something on server level.
In trying to understand this, maybe it would be nice to know what people are running, which browser, but also what's running on the server (which apache version, which php version, which php.ini settings and so on). And even then, I'm no expert *sigh*
And yes, I've heared of people who logged into chat and could hear sounds, but do nothing. But it's indeed very rare though.