If OP found a "good deal" on a 3GS, then it's likely that "good deal" is not from AT&T (or whatever official iPhone carrier exists in OP's part of the world if not in the U.S.)...the carrier is not going to have a "special deal" in only one of its stores, so if nobody else has heard about this "special deal," it is surely a second-hand phone OP is talking about.
That being the case, it seems to me that if someone is in need of a phone, you should go ahead and buy it. Stupid Apple's cat-and-mouse game against people who want to use their own property freely notwithstanding, the 3GS is a fantastic phone. I love mine; it is head-and-shoulders above the original 3G. 6 months from now, when the new model come out, it won't suddenly become any less great than it already is.
I recommend that OP purchase it if it is indeed a good second-hand deal, if only because OP will not be giving up much except for the one-time payment to the current owner. By purchasing second-hand, you're not going to get roped into a contract. And even if you did get roped into a contract (say that it was required to activate service, regardless of whether you had a phone purchase subsidized for you), chances are good that it wouldn't prevent you from upgrading for the fully-subsidized price on the new model coming out later this year, since you didn't use up your subsidy purchase on the 3GS itself.
So, get the phone, enjoy it, and, if the next model is a "must-have" for you when it comes out, sell the 3GS at a profit (people who want an iPhone and don't want to sign up for a 2+year contract are usually willing to pay a good amount to get a phone), and get the new one for the fully-subsidized price.
-- Nathan