usando l'opacità, tutto il contenuto dell'elemento diventa opaco, testo compreso.
una soluzione possibile è inserire un altro div all'interno di quello trasparente, dove lì metti il background: transparent e poi lo devi far uscire dal flusso della pagina, utilizzando il position: absolute/relative.
Un esempio di questo lo puoi vedere qui
In firefox utilizzo una png semitrasparente, ma in Ie utilizzo l'opacità. Utilizzo il position: relative, perchè il div ha una larghezza espressa in percentuale e quindi variabile.