> "In the extremely rare case where CID could be duplicated, the server could send back an error with an unique CID and the client would update itself."
That's exactly the catch.
If you still need to consider CID collisions and write code to handle a potentially-different canonical server ID, there's no conceptual or complexity savings. You're not doing 'only' a CID; you're doing all the same work.