my way of routinely dealing with a situation like this is to introduce a public boolean variable, e.g. 'Dim b_ByPassOn as Boolean' and then insert the following statement at the beginning of the SelectedIndexChanged event:
and then set the variable to True before you change the SelectedItem property and back to False after you changed the SelectedItem property:
cmbSystem.SelectedItem = DataGridView1.Rows(rowID).Cells(2).Value
This may not be the most elegant solution, but it does the trick.
Hope this helped,