Percebi que o #menu-principal está numa tag HTML5 (NAV). Desse modo, o proprio IE6,7,8 não reconhecerão essa tag, desconsiderando o elemento. Para funcionar (exclusivamente neste caso) utilize um javascript para forçar a criação deste elemento como um elemento de marcação.
< tag javascriptscript > document.createElement('nav'); < fim tag javascript >
Existem vários scripts pela net muito mais complexos e funcionais, forçando os browsers da microsoft lerem essas tags. Dê uma pesquisada nisso!
PS.: Utilizando esse script acima, testei apenas no IE 7 e 8. Me recuso a testar do IE6 ;)
Pra evitar outro problema futuro com tags do html5 indicaria vc usar o script abaixo entre o 'head', faz o que o nosso amigo acima citou e evita outros.