Кажется, что IE7 не нравится, что вы назначили фоновое изображение для контейнера .nav, и это просто просвечивает сквозь прозрачные фоны реальных ссылок.
Когда я установил фоновое изображение для ссылок напрямую, они начали работать нормально. Я предлагаю вам сделать то же самое.
Кстати, вместо того, чтобы писать длинные строки, подобные этим:
.nav .vision a:link, .nav .vision a:visited { ... }
.nav .vision a:hover, .nav .vision a:focus, .nav .vision a:active { ... }
Я бы просто использовал:
.nav .vision a { ... }
.nav .vision a:hover { ... }
Первый селектор нацелен на все элементы A, в каком бы состоянии они ни находились, и a: hover переопределяет это, когда курсор находится над A. *