My problem with the short term solution is that it interferes with the market correction that could bring more Americans back into engineering.

If engineering is more difficult and pays less, than you'd expect a shortage. Markets will correct this shortage naturally, since bidding wars will emerge for the smaller number of qualified engineers, wages will rise, and people who would otherwise do law or medicine would look at engineering with more interest. Unfortunately, if you allow industry-specific immigration (or worse, guest worker) programs, this market correction will never occur. This is a big part of why many people who are not opposed to immigration in general take a very dim view of the H1B (keep in mind that Milton Friedman (not exactly a guy who advocates "reducing immigration for the express purpose of not unduly expanding the labor pool" was a critic of the H1B program for this very reason). It's not that it expands the labor pool, it's that it does it in a very uneven way. You're essentially saying "we'll let you in here to do engineering, but not to do, say, law." This amounts to a government program designed to discourage Americans from studying engineering and get them into law school instead.

While most fields aren't nearly as closed off to "new Americans who may look a little different and have a funny last name" as law is, there mere absence of a widespread visa program can have a similar effect. So you'd also expect this program to encourage Americans who might otherwise have studied engineering to become real estate agents, mortgage brokers, nurses, and physical therapists.

I don't like to hear people say "dey took our jawbs", but I think it's very legitimate to ask "why did the government set up a system where engineering (and a few other) jobs were the only ones they were allowed to take?"

Especially when independent, objective research like the RAND study suggests that engineering isn't experiencing any kind of labor shortage.

BTW, there is one final factor here, which may explain what is going on. Many jobs are lucrative to the person doing them without producing much wealth. Engineering is generally the opposite - produces great amounts of wealth, but not always lucrative for the practitioner. To over simplify, a tax lawyer who saves a client a million doesn't produce a million in wealth, but he'll be paid by his client as if he had. An engineer generally does produce this wealth. So society, in general, has more interest in producing engineers than individuals have in becoming engineers. So I suppose the US has decided to resolve this by seeing if we can lure away someone else's engineers. That way, we can be lawyers, real estate agents, and so forth, and still have someone producing the wealth that the rest of us get to divvy up. As long as you ban those new people from taking anything other than an engineering job, and you don't mind watching Americans abandon the field in large numbers, should be fine, right?

Well, wait until we can't get engineers from overseas, and need to suddenly revive a profession that we essentially destroyed through policy. I actually think this could end very badly, which is often the case with the unintended consequences that occur when you regulate markets unevenly. I think that in the long run, these programs could create a severe shortage that will be very damaging.