Having a degree can make it easier to get a visa to work in the US, to governments credentials count, not real ability. Trying to do the degree you're doing is dangerous, as you've noted (although it does allow you to maintain your lifestyle and keep current in real software development). Is there any possibility that you can change to another major or school where you can get a real CS degree?
I'd have to move to get another option. I haven't done any real research into the whole visa-business, but I really should do that soon;) Is it not true that it's easier to get a visa if you already have a company that has agreed to let you work with them?
One thing I do know is that the last time I checked this year's quota of H-1B visas is not even close to being used up. Normally they're all used up on the first day which is sometime in April.