Скрипт, как оказалось, не виноват.
Все решилось после перестановки порядка вызова функций
jQuery(document).ready(function() {
            $('#main-menu > li').hover(
                function () {
                 $(this).stop(true,true).animate({'top':'+=28px'}, 300);
                },
                function () {
                 $(this).stop(true,true).animate({'top':'-=28px'}, 300);
               }
            );
        });
jQuery(document).ready(function() {
   jQuery(this).jCore();
});
Вот такой он странный, ІЕ 
