Hi, I stumbled across this thread (and forums) by accident, and I just wanted to give some insight since some of the statements may not be backed up factually. I've researched this topic a fair bit online, but beyond that am not an expert, so take it for what it's worth.
Offshoring (often confused with outsourcing, which isn't the same thing) jobs to India has been popular in the media basically since the dot-com bubble burst. Much of the "fear" articles you'll find online originate from around 2004. Despite the threats, in the years that followed, there is little proof that offshoring was a major threat to local engineers.
The confusing thing in all of this is figuring out exactly when "offshoring" is occurring. Disgruntled IT workers often say that offshoring isn't so much laying off people in one country and hiring them in another (although this has happened), but rather that all the growth is happening overseas (so basically all new-hires happen in India), leading to a gradual offshoring. There is no doubt that IT firms in India are growing, but this alone isn't necessarily proof that it is traditional "offshoring". Consider a company like Microsoft who wants to be a global company, they obviously want to sell to the Indian market, which can create many jobs for Americans. However, it is unrealistic for a company to expect to be global while keeping all their employees in only one country (think Toyota building auto plants in North America), so opening Indian offices may have nothing to do with trying to "offshore" work as much as just trying to grow as a global company. Why distinguish between the two? Because traditional offshoring for low cost work could continue indefinitely and thus is very threatening to local engineers. However, simply growing as a global company means that local jobs are probably safe.
Now, let's assume, considering my last paragraph, offshoring is occurring fairly rapidly. Even this doesn't equate to the disappearance of US engineering jobs. I believe the IT "shortage" is somewhat exaggerated, but we aren't churning out a ton of engineers these days, so it kind of makes sense that there will be more growth in developing nations where they are producing engineers. This alone isn't a problem as long as engineers looking for work in the US can still find it at good pay. That is to say, even if the percentage of the workforce is increasingly from overseas, the global IT sector may (and likely will)grow at the same time (and/or the employment may drop due to retirements and low college enrollment), so the situation at home could still be positive. The reason I believe this to be the case so far is the average software engineering salary is still very high for a bachelor's degree (over 80k I believe): if there was that much pressure it would make sense that salaries would start a rapid decline, which hasn't happened yet.
Now I have no way to predict the future, and offshoring is a concern to me. However, so far there is little proof that it is having a negative effect at home, and a lot of the "evidence" has been anecdotal (The IT worker who can't find work, which is tough to evaluate since we don't know if personally he's let his skills fall out of date, etc.) I won't say engineering is safe in a global economy; however, if we offshore all our engineering, total economic collapse is soon to follow. Engineering creates jobs, and if we lose our engineering ability, it will be like lemmings running off a cliff. The world won't need the US anymore. And for the record, firms are already offshoring some legal and accounting work to Indian firms, so don't think these jobs are safe either.
The current downturn has depressed the job market at home and increased the use of offshoring, which has increased the offshoring fears. We'll see in the next few years as the economy rebounds if they are justified or not. However, even in the down economy, I have a job lined up in which my total compensation should be around six figures. Many of my classmates already have jobs lined up despite the weak economy.
Maybe in five years I'll look back and realize the offshoring threats were real, but so far there is little proof of it and skilled engineers can make solid money out of college. With all the uncertainty now, I'm not sure if there are many "safe" areas to be in. What may be a good idea is take a CS degree, but choose electives that will line you up for legal or medical school (if that's possible with your program). Also, for what it's worth, the US Bureau of Labor expects a lot of growth for Software Engineers by 2016 (although these predictions were from before the economic collapse).
It's up to you, there is risk involved, but all things considered nowadays,engineering and mathematical degrees are leading to the best starting salaries out of college. The "no future in IT" has been muttered since the dot-com bubble burst. It may eventually turn out to be true, but if you choose a good school, work hard, and get some good experience I have trouble believing the threat is that imminent. A good software engineer won't be just a code monkey, but will spend time in meetings with business people and other stakeholders and require plenty of communication channels: that makes your job tougher to offshore.
So just make sure that you make up your mind on the facts (as tough as they may to be to find), not anecdotal based media stories. And don't automatically think there is no future in Engineering. I started school in 2005, right after the time that the offshoring fears were hitting full-swing (it would have been easy for me to select another major). Like I said, I haven't even graduated and have a job lined up for around six figures, at least in the short term doesn't seem like I made a bad choice. Best of luck in your decision!