IE e` un'espressione che in questo momento designa tre diversi browser: IE6, IE7, IE8.
Quel codice mi risulta funzioni perfettamente in IE7 e IE8, purche` la DTD sia di tipo Strict, mentre in IE6 non e` possibile assegnare la pseudoclasse :hover su elmenti diversi dal link (tag <a>).
Nota: l'attributo "text-valign" non esiste. Forse intendevi "vertical-align" (che e` utilizzabile solo nelle tabelle ed elementi equiparabili).