Логично, не находите?
Обработчик вешается не на некую абстрактную "динамическую коллекцию", а на вполне конкретный набор элементов.
Либо копайте в сторону live, либо как-то так:
$('.mainTable th.header').hover(
function () {
$(this).not('.headerSortDown, .headerSortUp').css('background-color', '#8dbdd8');
},
function () {
$(this).not('.headerSortDown, .headerSortUp').css('background-color', '#e6eeee');
}
);