C++11 is finally saying that this is not ok, as it really breaks the const contract, and can produce varying behavior in a threaded situation.
You could also argue that read/write locks aren't legitimate applications (starvation, increased contention, alternate solutions).