Here is our current workaround in bold:
For i As Integer = 0 To ulvLeft.SelectedItems.Count * 2
For Each ulvItem As UltraListViewItem In ulvLeft.SelectedItems
ulvLeft.Items.Remove(ulvItem)
Next ulvItem
Next i
It seems as though if we back up and keep iterating through the collection, we will eventually get all of them removed.
For three items, it took two passes; for five items, it took three passes. We think this may be something related to an earlier post concerning only the first and last SelectedItems being displayed. We'll keep this kludge in place until we hear a better way to do it.