Isn't the reality more like the fact that you have to constantly obtain new skills, thus making you only "hireable" part of the time?
In 2001 you learn you don't have what folks are looking for so you go and "retrain", get a couple years solid experience[%] in that skill, and then have a decent run until 2009 when the whole thing rinses & repeats?
To me, senarios like these, make the case for actually having a CS degree -- that way you have a chance of obtaining a "zero" in number of days without work since 1979.
1979 Recruiter: "On a scale of 1 to 10, how's your COBOL?" CS Graduate: "10." Recruiter: "Great! I have tons of work for you."
1983 Recruiter: "On a scale of 1 to 10, how's your data base?" CS Graduate: "4. But during my days at MIT, we did cover database theory quite intensely; I'm sure I could adapt to your needs very quickly" Recruiter: "Oh, MIT 'eh, I'm sure you could, when can you start?"
... and so on...
[%] I know a solid programmer can pick up new skills pretty quickly, but recruiters have a funny way of always insisting on a certain number of years of experience in a particular skill, don't they...
P.S. I don't have a CS a degree.