A fix that I've used is more of a workaround. I create a transparent GIF alternative (it's lower quality, but I live with it) and add a couple of lines in my CSS file to override the PNG.
So if you have:
#headbg {
background:transparent url(images/logo.png) no-repeat scroll center right;
}
Then you add this immediately below that line:
* html #headbg {
background:transparent url(images/logo.gif) no-repeat scroll center right;
}
The * html at the beginning of the line is only read by IE, all modern "nice" browsers will ignore this, but for IE6 it will replace the PNG image with the GIF. IE6 plays nice with transparent GIFs, so this shouldn't cause any issues.
See it in action here: http://www.ghcnews.org (the logo on the right-hand side of the top banner).