Personally I dislike VSS on the whole, not just a particular version of it.
It lacks so much fuctionality that a good source control system needs it makes it practically worthless. Heck, even MS doesn't use it for any of their real products, or thats what I've heard. For a serious project that involves thousands of files and is used by more than a few people, its not a good source control system.
What it lacks:
1. Atomicity at the change level, not the file level. That is, a change usually involves more than one file. But it is practically impossible to determine all the files changed at one time with VSS.
2. Lack of command line tools. One thing I am required to do when submitting changes to the code, is send an e-mail listing all the files changed and what was changed in those files to all the developers for code review. Its real fun doing point-click diffs for more than 2 or 3 files, trust me. With command line tools, I could set up regex to do it. And sometimes using the GUI just takes so much more time than a command line.
3. Integration to other Visual components. Some people really like this, I hate it. I don't know what it is, either my computer, the network or the server VSS runs on, but when I bring up VC++ with a few hundred files, it takes about 20-30 minutes for it to finish "updating source control files". Got to the point where I forced VC++ to not look at VSS.
Check out
Bitkeeper. Its what they use to store the Linux kernel these days. Its not free or open source, so its got to be damn good for that group to use it.
I've tried CVS and its okay. It still lacks the Atomicity feature that I consider essential.