The problem here is that you are trying to use ObservableCollection<T> as collection type for your list of UserDefinedColValue objects.
In order to support change tracking in lists of persistent instances, OpenAccess needs one of its special collection types - TrackedList<T>, TrackedBindingList<T> or another that derives from any of them. By default collection fields are generated as List<T> but at runtime OpenAccess creates and uses instances of the aforementioned types.
I am afraid that you will have to provide your own implementation of the INotifyCollectionChanged interface based on the TrackedList<T> type and use that in your persistent classes.
All the best,
the Telerik team
Q3'12 SP1 of OpenAccess ORM packs Multi-Table Entities mapping support. Check it out.