Попробуйте изменить функцию scrollBg () следующим образом:
function scrollBg(){
//Go to next pixel row.
current -= step;
//If at the end of the image, then go to the top.
if (current == restartPosition){
step = -1;
} else if (current == 0) {
step = 1;
}
//Set the CSS of the header.
$('#header').css("background-position","0 "+current+"px");
}
Вот очень простой рабочий пример (только для демонстрационных целей - используйте код выше): http://jsfiddle.net/lukemartin/u2XJ8/
Всеон переключает значение шага, когда оно достигает конца цикла.