There are quite a few interesting posts in this thread, so I just picked yours to respond to. For background, I've been programming for more than 20 years, professionally for almost 15. I started with BASIC, expanded to Borland Pascal, graduated to assembly language, then went on to C, Perl, PHP and am currently immersed in web application development as the department manager.
In the past five years I have been the hiring manager for both in-house product development and out-sourced professional services. I have experimented with a range of programmers including brilliant high-school drop-outs, green college graduates, and hardened industry veterans. Ultimately I have found that a given position needs a developer who is specifically well-suited to it. If I'm looking for new, cool, whiz-bang, the brilliant hacks are great to throw at the job. If I'm looking for carefully considered back-end architecture, there is no substitute for a hardened veteran. In the middle are the production coders who follow orders but don't yet have the problem solving skills or experience necessary to always produce elegant work - and often that's OK: lower pay, keep them busy, deal with problems as they arise, each gains experiential points as they continue.
Two elements that are vital across the board are passion for software development and a penchant for problem solving. I have fired a handful who lacked either or both. As a team leader, my focus is on having the right person on task, not the cheapest one. I don't know if that's a rarity in the management world, but from some of the earlier comments, it's clear that there is a disconnect between what HR thinks and what engineering needs and that gap should be narrowed. Do companies really want 25 developers producing garbage at rock bottom prices, or 8 super-stars at 3x the price - quality over quantity...
PS: The original question is ridiculous to begin with; You're never too old to learn, but understand that learning the language syntax in a week is very difference from having a deep understanding of the problems unique to the environment it is applied to - that takes years, and you just have to DO IT.