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.
Those skills aren't too hot right now. .NET is the big thing going on now.
On topic: Hopefully companies will realize over time that their "cheap" foreign programmers cost them more money doing re-work than they save on hourly wage.
As communication is essential to creating applications that meet the needs and desires of clients, H1-Bs and foreign outsourced IT fail to live up to expectations.