Почему вы заставляете его отображать как IE8, а затем ожидаете, что он будет отображаться как IE9?:) В IE8 не было поддержки box-shadow, поэтому IE9 покорно отключает его при рендеринге как IE8.
Если вы хотите, чтобы IE9 отображал box-shadow, вам придется вернуть его к рендерингу какIE9 или EDGE.Если вы вынуждены поддерживать x-ua-совместимую как есть, тогда вам придется использовать фильтры.
Обратите внимание, что для IE8 используется другой синтаксис ...
/* For IE 8 */
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000')";
/* For IE 5.5 - 7 */
filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000');
(Пример взят из http://robertnyman.com/2010/03/16/drop-shadow-with-css-for-all-web-browsers/)
Поскольку в идеале это довольно неприятно, я бы посоветовал вам изолировать их в таблице стилей только для IE, поставляемой с условными комментариями.