I personally like everything the way it is. The ability to choose your desired class at all times is a good thing. Plus, after many, many hours of playtime, I have never once noticed anything wrong with the class limits.
I wouldn't enjoy it very much if it did happen. I don't want to be forced into a class that I'm not in the mood to play. Plus, I change classes every round, depending on what’s going on in battle. At the beginning of the round, I jump to Scout so I can get to the control points faster. After, I'll switch to Spy so I can take a look at the enemy setup, etc. I don't want to be locked into a class.
By limiting classes, you are eliminating team strategy. It's fun when your entire team is a Scout, running around from point to point trying to capture. It offers a wide range of gameplay. Yes, it might not be fun when you have few Medics with an Uber Charge on a Heavy, but that’s the way it can be sometimes. There's always away to counter it. It all comes down to teamwork, not class limitations.
In addition, it also keeps those players who tend to complain about [X player is not doing well with X class, please give it up].
Variety is GOOD, let's keep it that way.