Фиксированное меню
Да, проблема в position.
Значение fixed, как и absolute, выдирает элемент из потока и позиционирует его относительно всего окна.
Соответственно 100% — ширина всего окна.

Решением может быть применить position к #wrapper а не к header.
Если я правильно вас понял, то необходимо убрать position: fixed;