While IE 8 supports transparent png's, it doesnt support the changing of opacity on a transparent png. This means when you try to use the fadeIn/fadeOut (and other effects) in jQuery on a transparent png, IE8 and below will give the image a horrid black border.
I've seen many solutions for this issue, including hacking ie6 png scripts to resolve this issue for ie8. None of which really helped or seemed to work well.
The best solution ive found is to use two DIV's with the image as backgrounds and using the CSS filter property which only IE seems to recognise.
The following CSS solution works without fail for me. However it does break W3C CSS compatibility. But hey, you can have it all!
Hope this digs someone else out a IE HELL HOLE
Above Example would become;