You've obviously skimmed too fast. The article states facts proving that highly skilled and talented engineers are currently being replaced by foreign workers on H-1B visas. You should go back and read the article, this time without "skimming". These "so-so" programmers as you call them are those engineers who have passed the age of 40. They are being replaced with "so-so" warm bodies from India, Pakistan, China, and a host of other countries. Companies such as Lucent, Nortel, Sun, and many others are laying off American workers to make room for foreign workers who will work long hours for less...
I'm closer to 60 than 40, and still get paid good money, mostly for my programming skills and hard work. Of course, that means I've been continually retraining myself for nearly three decades now.
Perhaps if I get caught up in this trend someday myself, I will think differently, but for now, I have trouble getting to bent out of shape over it. However I suspect that if I did get such a layoff, I'd be too busy searching out the next job to loose sleep over the motivations of the layoff.
There are still one heck of a lot of people, of all stripes, programming. And it's ok by me if companies understand that they aren't there to keep people employed - they're there to make a profit.
And when I am hiring, the more competition for my openings the better.
The point about reeducation is right on the money. At my age it would be pointless to learn Java, Perl, Python, CGI, Javascript or other 'hot' web stuff because there are lots of kids who already know it and managers flatly do not want to hire an older person. And taking classes, no matter what the computer schools say, is pointless. Hiring managers want experience so in practice it is incredibly difficult if not impossible to switch from the ghetto of legacy maintenance to more modern skills.