Since you don't know which one, the letter or the CV, will be read first, you should optimize both.
I wrote an article a few weeks ago on the same topic which is relevant (http://lifehacker.com/tips-from-a-recruiter-dont-make-me-rea...)
Why do some companies not accept cover letters? For one, nobody wants to read them. Keep in mind, nobody wants to read cover letters OR resumes. They want to have a conversation, and they want to be able to determine as quickly and accurately as possible whether or not that conversation is worth having. This can be quite prone to bias.
Most cover letters simply reiterate what the resume says, but in a condensed format, along with some fluff about how hard they work and how strong their soft skills are. It's usually fairly pointless, and some companies ask for them as a bit of a test of your interest. Companies that don't ask for them likely don't feel they are useful, and would rather have their recruiters looking at resumes (and hopefully actually having conversations) than reading traditional formatted letters.
I usually keep it all in one LaTeX file, and abuse that as my macro processor (to include / exclude sections). Text files work well with version control.
This specific point is very important. Design your resume to save time for the recruiter. The recruiter has hundreds of resumes to parse. If you make the case you are a great match for the job opening in the first paragraph your chances of being noticed increase enormously. You are not telling who you are - you are selling a solution to a specific problem.
> If you are applying to a PHP job
There is little point in mentioning you wrote key parts of MVS/370 because the recruiter will have no idea what it is. If the company uses Ruby on Rails a demonstration of your expertise with JBOSS will be (correctly) treated as noise.
I think knowing C makes me a better Python programmer, but unless the job asks for it, I wouldn't mention it before the first technical interview with someone who agrees knowing C makes someone a better programmer.
Tip: using a spreadsheet to keep CV parts saves a ton of time.
Tip 2: find out who the recruiter is. If you can understand more about the person and his/her expectations and background, you may fine tune your CV even more perfectly.