I seem to recall this is a problem that won't go away... a child tag seems to inherit the transparency setting regardless of any overriding css you try and apply to it.
You have two options:
place the text box outside the transparent box and position it over the top using css (a bodge)
Use a transparent PNG as a background, making sure to include the transparent PNG hack thingy for IE6.