Versioning use cases argue for having the parent know the names of its children, but the children not knowing their own names or the names of their parents. Can we say that the anonymous part of the relationship is not versioned. We still can try to do some protection. When you lock a resource, you lock its state and protect all bindings that lead to it. Protecting is different from locking.
Protection is cumulative.
The binding can only be deleted if all protections are gone. If we only protect the final segment, it's not as important to distinguish between protect and lock. When you unlock, it unprotects all those segments. Protection works with versioning, though it would be painful to implement. They are orthogonal concepts.