Oh, I see. That makes more sense now.
I completely forgot there was any kind of UID conflict detection in C3. It doesn't seem like a good feature, because you can refer to UIDs in events, and so switching the UID can break the project. I checked our code logs and it looks like it exists solely for compatibility with C2 projects, probably because there was a bug in C2 that assigned duplicate UIDs or something. It's not there for the benefit of source control... but I guess it's one of these old backwards-compatibility hacks that people end up depending on anyway...
Similarly if Construct reassigns in-use image sprite IDs, you'll get jumbled animations using frames from the wrong objects, which doesn't seem great. I think a better approach is to use random number assignment, which Construct already does with SIDs for various purposes. I can't remember any reason why image sprite IDs need to be sequential or reasonably low numbers, but to be honest this is all super complicated code written years ago, so I'm not absolutely sure. Anyway I made a change for the next release to use random number assignment for image sprite IDs, so we'll see how that plays out. I don't think it's worth changing anything for UIDs since it's convenient for users to have low numbers if they're being manually entered.