Кажется есть общая проблема с нотификациями при добавлении/удалении элементов.
Типичная логика такая:
<
int index = BindingListImpl.Add(value); // here the notification is sent
AddInternal(value); // here the IsDirty flag is updated
return ... >
Нотификации посылаются <BindingListImpl>, а <IsDirty> отслеживается <EditableArrayList>. Когда добавляется новый элемент, он добавляется в <BindingListImpl>, при этом <EditableArrayList> еще имеет флаг <IsDirty=false>. То есть в обработчике <ListChanged> лист утверждает что он не содержит изменений. По-моему это неправильно.