| Сообщение от ozoro | 
	| это что, глюк (баг) какой-то? | 
	
Не знаю, но я не страдаю. 
Что касаемо причины, то все верно, это я "на несколько фронтов в сети", и сам уже не помню о чем речь в каком посте, и тебя запутал. Fixed, нужно указать позицию, по умолчанию 0, поэтому и прокрутка. Ты же хочешь при открытии окна остаться на той же позиции, так что все верно $(window).scrollTop() - это запомнить, а -$(window).scrollTop(), это сместить до позиции. То есть вот так записать:
$(document).on("shown.bs.modal", ".modal", function () {
    // Когда модальное окно открыто, фиксируем элемент body
    var top = $(window).scrollTop();
    $(this).data({top: top});
    $("body").css({position: "fixed", top: -top});
});