It's really amazing how much revisionist rubbish gets spouted on Slashdot and treated as gospel. Companies have always since forever viewed their employees from the perspective of a cost-benefit analysis. That is no different now than it was in the 50s or earlier. Why do you think we have things like unions, labor laws, OSHA regulations, minimum wage, etc? When a company seeks to cut costs they will, plain and simple.
The reason companies were willing to train workers in the past was because they had to, not because they were somehow more benevolent toward their employees. Factory and office jobs were on the upswing. People coming out of school, not necessarily high school, didn't have the skills they needed, so they trained them. This, by the way, was a minimum wage job, and factories were installed in small rural towns for a reason.
Now it is different. We are no longer talking about minimum wage factory jobs. We are talking about highly skilled $100k+/yr + benefits tech jobs. It really shouldn't be surprising to anyone why a company wouldn't want to invest in a year of downtime in training, especially when people hop jobs in 2-3 yrs. Yes, a PHP developer can probably become a Perl developer rather quickly, but a DBA cannot become a Perl developer as easily. And why should a company be forced to pay for that anyway? If they can't hire who they need locally, they should be able to look elsewhere. When a company wants to hire fresh grads, how many of those are Americans? Some, but not many.
Tech is experiencing right now what every other field has experienced in the past. They have been shielded from it until fairly recently, but it can't be avoided anymore. The tech workers that can adapt, of their own volition, will probably not have trouble finding decent jobs. The ones that whine and complain because great high paying jobs aren't just handed to them fresh out of college will struggle a bit. Welcome to the rest of the world gentleman. It is not going to go away.