Похоже, небольшая ошибка здесь. Я был в состоянии непостоянно повторить подобную проблему.
Я использовал стандартный шаблон VS для приложения с привязкой к данным. Шаблон поставляется с некоторыми примерами данных и заполненным списком. Я добавил кнопку, которая устанавливает выбранный элемент на 15-й элемент в коллекции. Это сработало, как и ожидалось. Однако, когда я прокрутил список до самого верха, он не вернется к 15-й записи, когда я нажму кнопку. Гадание здесь, с чем вы сталкиваетесь, является еще одним симптомом той же проблемы.
Чтобы решить эту проблему, я сначала устанавливаю SelectedIndex равным -1, что по существу отменяет выбор элемента.
private void button1_Click(object sender, RoutedEventArgs e)
{
myListBox.SelectedIndex = -1;
myListBox.SelectedItem = myList[100];
}
Мне любопытно, решит ли это и вашу проблему.