I have been very interested in the new iPhone 3GS, and so I decided to take a look to see if it'd be possible to upgrade. I made a few phone calls and did some research.
I learned that AT&T will allow me to upgrade to the iPhone 3GS without special charges after 1 year and 8 months under contract... so, happily I don't have to wait the full 2 years to get my hands on the new iPhone. But since I somewhat recently bought my iPhone, I still have to wait another year before I can upgrade.
However, since I can't wait, I can upgrade to the new iPhone 3GS for a fee - they'll let me upgrade to the new phone if I pay a $200 premium. That means that I'd pay $399 for a phone that usually goes for $199. The $200 "surcharge" is a number that's comparable to the "contract early termination" fee.
I bought my 16 GB iPhone 3G for $299. If I sell it now, I'll have a newer battery and a newer warranty. I feel those improvements are worth $50 to me. And therefore, I feel that IF I can sell my used iPhone for $350, it'd be an easy decision.