Where should I start learning about version control systems? I've used SVN, Team Foundation, and Sourcesafe in the past but I don't really feel like I grasp it completely, and my team doesn't seem to grasp it either.
Which points are the most important to master? I realise this differs from VCS to VCS, but for the sake of this question we can assume that Subversion is the VCS I'm the most interested in learning about.
Also, if you could, please recommend any books on the subject that you find useful.
There are a couple of free ebooks on the subject. Try:
Version Control With Subversion: Version Control with Subversion
Subversion Version Control (PDF): Subversion Version Control
I have read and would recommend the former. Haven't read "Subversion Version Control", but it looks pretty in-depth.
I am not sure how much experience you have with version control systems, but for someone who has no prior knowledge about the concept I recommend reading the first few chapters of the Subversion book. Some of the things described there are specific to Subversion, but many of the concepts are "universal" for version control systems and how to work with them.
I think it's very important that people make an effort in trying to understand the main concepts and rationales behind version control systems before starting to use them. All too often I see developers only using a small subset of their system's features because they don't understand the underlying concepts and therefore either don't see the point in using what they consider "advanced" or "unnecessary" features, or they are simply afraid to do so in fear of breaking something or causing problems for the project.
Having experienced this phenomenon with many developers in the past, I recently wrote up a summary of what I consider best practices for version control on my blog.
I found this useful Source Control HOWTO by Eric sink
I think the most important points one has to learn regarding source control systems are the following:
If you've got these major concepts covered, that's pretty much most of the things you'll ever need to know for source control :)
Version control by example by Eric Sink is good and easy to follow
To answer your question re: Which are the most important points to master I would suggest that after you get through the whole checking in and out process, rolling back to old versions and performing diffs you should take a look at branching. Branching can help you deal with the pain of being in the middle of a large change and suddenly needing to perform a bug fix and deploy it to production without the mixing in the half done stuff you are working on.