I'd suggest the opacity property as TehYoyo suggested, since RGBA support is... sketchy at best. If you use the opacity property and a IE filter you have to worry that anything inside your DIV will ALSO have transparency applied to it -- and you probably don't want that. The solution is a empty sandbag DIV before all your content.
While it takes an extra markup element, it also happens to work all the way back to IE 5.5. Basically the margin-bottom just makes everything after the div ride up over it. It also means you don't have to play with positioning, or worry about opacity inheriting to any child elements. If the div was wrapping your header area content, delcaring opacity on it would also make everything in the header transparent -- and you probably don't want that.
Of course, if legacy versions of IE supported :after and :before properly, you could also add the extra sandbag that way; unfortunately they don't. You could use an expression to fake it, but that ends up being a needlessly complex mess -- at which point, just use the sandbag.
... and in this case I'd do this long before I'd go for an alpha transparent .png -- but as a rule of thumb I don't consider alpha transparent images to be viable for web deployment due to the larger filesizes, unusual cross browser behaviors, need for filters to make them work in legacy IE... etc, etc...