Buenas,
para solucionar el problema de las transparencias en IE6 una buena solución es un script de Turnbull Angus con licencia GNU LGPL llamado IEPNGFix 2.0 y que se puede bajar de su web
aquí. Soporta imágenes de fondo, sprites, background-repeat, onclick, multiples selectores y no necesita tener javascript activado (para algunas cosas si), además es bastante rápido. Se basa en la propiedad css propietaria behavior que se puede incluir dentro de un comentario condicional y asi el código seguirá validando.
De la experiencia que he tenido (con el 7 no he probado pero con el 6 y el 8 si) en IE8 es verdad que en principio se mostraban bien las transparencias, pero al mezclarlo con la opacidad dejaban de verse bien, sin embargo en el 6 aunque necesita el parche para las transparencias y para la opacidad hay que usar un filtro diferente que el que se usa para el 8, el resultado era bueno y si que combinaba bien opacidad con transparencia png.
Así que hay que dar mil vueltas y romperse la cabeza para obtener un resultado medianamente aceptable y me temo que seguirá siendo asi. A veces no se puede aplicar la opacidad a la imagen directamente cuando lo que se quiere es un cambio de opacidad gradual y es mas fácil modificar un valor de una propiedad css que tener que retocar una imagen si decidimos cambiar el diseño aunque muchas veces no queda mas remedio que buscar soluciones ingeniosas siempre obligados por las carencias o particularidades de nuestro querido ie