Perhaps one through-line is that if IDs are not created by a single source, don't rely on auto incrementing IDs.
The parent/child one is interesting. When I've worked with hierarchical data, I tend to wrap the whole process in a transaction, so it may be many commits (by depth), but one transaction.