Devi necessariamente usare due div sovrapposti (layers).

In quello sottostante definisci lo sfondo (anche un semplice colore pieno va bene, senza scomodare elementi grafici non necessari) e ne impostai la trasperenza con opacity:0.4; filter:alpha(opacity=40);

Io aggiungerei anche MozOpacity:0.4;KhtmlOpacity:0.4; etc.

Nel div sovrapposto metti i contenuti che vuoi.

Il problema starà nel sincronizzare posizione e dimensioni dei due div, che dovranno coincidere.

Temo che l'utilizzo di png semi-trasparenti crei problemi di incompatibilità maggiori dell'uso dei vari attributi di opacità nei css.

Dubito che tu possa risolvere altrimenti...