Both version and revision are intended for users (and developers). Of the two version is and is meant to be the friendlier one.
In general revisions can only be compared for equality and are used to check for updates. They can help know if different machines have the same bits but a higher revision just means uploaded to the store more recently without any further implications.
I discussed the situation with the people that originally decided the limit and other affected components (store/snapcraft). While versions are free form still users are their audience too and the limit is intended as a nudge to friendly versions.
We understand that there is a flow from CI/build/testing to users, and in channel terms from edge to stable where the metadata audience evolves from mainly developers to include general users. But for simplicity any rule for version here that applies for stable needs to apply all the way back to edge.
There is a feature coming which is revision attributes that will allow to attach to revisions less constrained and more build/developer oriented metadata. This should be able to store more comfortably what upstreams use as versions without further considerations.