Instead of using the SelectedValue property of the ListBox, you need to set the Selected property of each item. By way of analogy, the second method is like the user ctrl-clicking items one at a time to get several selected. The first method is comparable to the user clicking on a single item -- erasing other selections.
In your code, replace
_ListSubjects.SelectedValue = tmp.Value;
with
_Tmp.Selected = true;