Возможно, использовать функцию обратного вызова следующим образом:
$(this).animate({"backgroundPosition": "+=350 -=150"}, 500, function () {
$(this).delay(500).animate({"backgroundPosition": "+=350 -=150"}, 500);
});
Похоже, что CSS для фонового изображения не сохраняется после первоначальной анимации, поэтому, возможно, установите CSS в функции обратного вызова:
$(this).animate({"backgroundPosition": "+=350 -=150"}, 500, function () {
$(this).css({"backgroundPosition": '...'});
$(this).delay(500).animate({"backgroundPosition": "+=350 -=150"}, 500);
});