There seems to be some confusion here...
So let me clarify with my story. First of all, if ones contract isn't up yet, you will pay the higher price for the new phone, but my contract expired on January 14th so I went down after going on line to the Radio Shack site that showed me that my pristine 16GB 3Gs was worth 160.94 as a trade in towards the Iphone4.
http://radioshack.cexchange.com/online/Home/ManufacturerSelected.rails?pcat=2&man=40
I was obviously flabbergasted so I called my local Radio Shack and challenged the guy to confirm this for me which he did assuming my phone was in the condition I said it was. I immediately went down there and did the deal.
The way it worked was I had to wait for the 32GB 4 to be shipped overnight to my home. But by turning in my phone that night, I received the 160.00 gift card which I applied toward the sale, paid the difference and completed the deal for an out of pocket 140.00 for the 32 GB Iphone 4 which sells for 299.00. I also purchased a throw away phone for 19.99 which Radio Shack took back the next day when I returned it to them.
Now, regarding the new customer care which isn't transferable to the new phone; this is true, but Apple rebated me the prorated value of my 3Gs customer care package which had 206 days left on it. So the actual cost of my new customer care package was offset.
What blew my mind at the time was the 16GB 3Gs was advertised on Apple and AT&Ts web sites for only 99.00. I still can't figure out how RS can do this deal and make a profit but hey, if your contract is up and you're staying with AT&T, get down there before this deal ends.
I also kept my "GRANDFATHERED IN" unlimited data plan as promised, and have read that Verizon is going to limit the data feed speed to the top 5% of iPhone4 data users which I think is a reprehensible betrayal by a company that claims to be able to serve all of its customers data transfer needs.