原因は、IEのバグ。
背景色(background)を指定したブロック要素A内に、フロートした要素Bがあるとき、ブロック要素A内の文字列が消える、というもの。
→背景色が指定された要素内にフロートがあるときに要素内の文字が消える(IE6)。
背景色を指定したブロック要素内にフロート配置した要素があるとき、ブロック要素内の文字列が消える。
(中略)
このバグは、親要素の幅をwidthプロパティで明示することで回避できます。
ということなので、親要素に幅(width)を指定することで解決しました。
ちなみに、IEのCSSバグについてはInternet Explorer (Windows) CSSバグリストが非常に参考になります。
Thoughts on IEで文字が消えるバグ