Meaning there will be C* versions which support both?
No. But it is possible even for the same user to have a cluster with mixed C* versions. And yes 3.1.0 will be backward compatible with 3.0.0. But 3.1.0 may have feature that doesn't work with 3.0.0. So if someone wants to use 3.1.0 explicitly, he ought to be able to say so (and if the C* server is an old one that only know about 3.0.0, it will refuse the connection).
It is true that you would be safe to always set the version to 3.0.0, even when the server will be on 3.1.0, but what I mean is that the server does some fine grained version check, so if we don't expose the ability to choose which version of CQL exactly we want, we loose a bit of flexibility. We may consider that fine for cqlsh though, I don't know.