После долгих ковыряний пришел к выводу, что проблема лежит в навигационных свойсвах "дочерних" таблиц. Т.е. если в навигационном поле в свою очередь имеются навигационные поля, то они приводят к описанным проблемам. Конечно, можно через рефликсию копировать все не навигационные поля (кстати по флагу IsVirtual легко определяются), но все еще надеюсь услышать другой, нормальный способ решения проблемы.