Suggested reading:
Cross-Browser Variable Opacity with PNG: A Real Solution
I personally opt for the 'AlphaImageLoader Filter' methods.
Athough it relies on proprietory (read: invalid) css, I'm happy to use externalised/marginalised proprietory css to fix a proprietory problem.
As a rule, I throw all such workarounds into one additional css file and @import it separately.
That way you can have the invalid code in one file which won't effect the validation of the rest of your code.
fwiw, the MSIE/Mac team are/were about as self-directing as a development team could get within MS. They clearly had more regard for standards (developmental and compliancy) than their MSIE/Win counterparts.
If only the MSIE/Win team had been half as diligent and dedicated as the MSIE/Mac team, web design/development wouldn't cause half as many headaches as it currently does.