When you try to change the name of an object version, there might be several names the Repository tries to change:
If the object version implements the INamedObject interface, the Repository changes the name property exposed by INamedObject unless the object version is unchangeable.
If the object version has one or more destination naming relationships, the Repository tries to change a name for each of those relationships. (See changing a destination relationship's name.)