Ok, sorted it, and now I'm slightly embarrassed I even posted here. The answer was 9/10s correct with using BindingList(Of T). I just didn't set it up to accept changes;
BindingList.AllowEdit = True
BindingList.AllowNew = True
BindingList.AllowRemove = True
Simple as that! Well done Microsoft!