Old open code have been making some assumption like: shapes can refer other shapes (for example Extrude) that have a lower index of creation. This works fairly right if we don't count Face-Splitter. Face splitter by default is setup as being node with index 0.
Right now the applying of Undo/Redo or File/Open will do it in case of references to deserialize in advance the references, by this will remove one more assumption and it's following problems. Anyway, there are still bugs there, but I hope to address them today.