Это происходит, вероятно, потому что ваш браузер начинает пропускать тайм-ауты. Особенно, если вы просматриваете другую вкладку, браузер считает, что нет необходимости вызывать обратный вызов с точно 2-секундными интервалами. Вы должны полностью отказаться от функции setInterval! Вместо этого используйте обратный вызов завершения fadeOut и fadeIn, чтобы вызвать эффекты.
Попробуйте что-то вроде
var cycle = function() {
$('#fbLoginSlide :eq(0)').fadeOut('slow').hide()
.next('div.loginSlide').fadeIn('slow', function() { setTimeout(cycle, 1500); })
.end().appendTo('#fbLoginSlide');
};
cycle();