Well I won't raise OnPropertyChanged because an error is set, as that's not correct IMHO and it will break applications who act on OnPropertyChanged to do additional logic: I don't know what's done in these eventhandlers.
Listchanged is also a weird way to propagate these errors upwards, I don't think it's related to that event, simply because what if you bind a single entity to a bunch of textboxes... no list.
The reason the datatable raises this event is I think because it causes a bound control to repaint/refresh.
The sad thing with these events is that if I now start raising them without a reason that something has changed, something can break due to that which then falls apart but it's really hard to track down what caused it.
But I'll see what I can do.