Я видел, о чем ты говоришь не раз. Насколько я понимаю, ошибка заключается в том, что при первом отображении страницы в IE он не всегда знает размеры элементов и поэтому догадывается, куда они должны идти.
Когда вы запускаете: hover, страница перекрашивается, и, поскольку все теперь отображается, IE лучше понимает размеры элементов. Это заставляет его перемещать элементы в правильное положение.
Мне посчастливилось исправить его, добавив границы ко всем предшествующим элементам и увидев, какой из них перемещается, а затем убедившись, что hasLayout запущен на нем с исправлением height: 1% или zoom: 1
У меня даже был случай, когда курсив вызвал это, так как курсивный текст дает IE горе .