I had the same problem(s) with Vista and Yahoo Chat. I ended up with a simple workaround that doesn't involve downloading codecs etc., from 'suspicious' places, that may or may not work with your particular flavor of Vista..
First, go here: http://www.ymessengerblog.com/blog/2008/05/29/new-release-of-yahoo-messenger-90-beta/
and get the newest Yahoo Messenger 9.
Then go into a Yahoo Chat room. (I'd suggest one of the romance ones as there are usually quite a few attention strarved women and desperate men chatting away on mics.) When you click on the "Voice" button, you'll probably see this,
"this computer does not appear to have input, or it is not configured correctly" (which doesn't seem a whole lot better than the original compression issues,) BUT, all you have to do is plug in a microphone and everything works just tickety-boo. If you don't have a mic, just plug some headphones INTO the INPUT for the mic. You'll still hear everything just fine through your speakers.
It's not an ideal solution but unless someone out there remembers more than I do about their days as a 'sound guy' for local bands, it shouldn't do any harm.