So it just occurred to me that when buying other smart phones you can simply upgrade your plan to include data without canceling your contract and getting a new one. So why is it that they aren't letting us do that with the iPhone 3G?
Because the 3G is being offered at a subsidized price. When you buy it at this lower price, your contract starts over because AT&T needs to get their money back.
You could pay the full, non-subsidized price for a phone and then you aren't put in a contract. But I don't know if this will work with the new iPhone, as details are still murky.