Repro steps:
1) Drag a fact type with two readings on same reading order into another model.
2) Undo the drop
3) Reapply the drag/drop operation
Result: The second drop fails.
Internally, the named element dictionary for the reading signatures is holding a reference to the previous (now deleted) reading item keyed by the signature of the second item.
The dictionary event tracking code made a bad assumption about one-or-many-ness of a given relationship and overwrote the tracking information for the second reading. It is highly likely that this could also cause other bugs outside this scenario.