Это зависит от того, когда ListBox привязывается к данным или заполнен ListItem.
Как правило, такой случай может возникнуть, когда ListBox создается внутри другого родительского элемента управления, такого как Repeater, а Repeaterпривязка данных к событию Page_Load.Это означает, что ListBox фактически не существует, пока не закончится событие Page_Load.
ViewState восстанавливается в ListBox где-то между событиями Page_Init и Page_Load элемента управления Page.Если содержимое ListBox создается во время события Load, это означает, что ViewState ListBox не может восстановить содержимое после PostBack и не может отслеживать и автоматически выбирать новое SelectedValue из PostBack.
ЕслиПовторитель в этом случае привязан к данным в событии Page_Init, содержимое ListBox будет готово после события Page_Init, и ViewState сможет правильно восстановить и автоматически выбрать SelectedValue.
Я обычно связываю данные все всобытие Page_Init, позволяющее убедиться, что элементы управления могут корректно работать с ViewState.
Подробнее о жизненном цикле страницы веб-формы ASP.NET см.
http://msdn.microsoft.com/en-us/library/ms178472.aspx