There does not appear to be a waiting period for rebuying, at least according to the rep I just spoke with. In fact, while I did not specifically ask about the 3gs, she seemed to imply the optimal path might be (1) add a new line (qualifies for new pricing); (2) cancel old line (paying the early-cancel fee).
I thought all purchased apps were linked to the ITunes account, rather than carrier account... so I would again expect there's a way to carry them forward, but I may be overly optimistic.
edit: It is now confirmed that 2G users qualify for upgrades to the 3GS at the subsidized prices.
I think I'll hold on to my original and hope for a new carrier in 2010. The features are great, but AT&T's call handling is not acceptable, I don't need to extend that contract.