I used to be an H1B holder, and one day decided to switch employer and start working for startup. The visa transfer application has been filed, I quit my job and moved to startup, without waiting for application to be approved (which is legal, as transfer considered to be pure formality). Few months later my transfer application gets refused on the grounds that startup doesn't seem to have profits and may fire me. Thank you very much Department of Labor for firing me out of fear that my employer may fire me.
One can argue that its my fault, and I had to wait for transfer to get approved, but that's not the point. I knew that I was taking a risk, and was prepared, but to get refusal on such grounds? That's pretty lame.
Anyways, getting back on topic. Suppose I were the best developer in the company and in rough times company had to downsize, but they would like to keep me and get rid of some slackers, however some legislation wouldn't allow them to do so, so they have to fire me. I pack my stuff move back home, and then economy picks up, there is shortage of qualified people in US, and US companies start to bombard me with offers. Do you honestly believe I would go there again?
It is very shortsighted policy, you are risking to alienate the most qualified people. Way to go.
Another argument against it -- it is pretty much unenforcible. What will business do? They'll just create new entity and move all H1B holders they would like to keep to that new entity. Oh, big brother patches this loophole? Fine. They'll create an independent "consultancy" business and move all H1B holders there, and hire them as consultants. I am sure there are thousand tricks to work around such restrictions.
I don't have any use for bodyguards, but I do have a specific use for two highly trained certified public accountants. -- Elvis Presley