No, you don't HAVE to wait for your contract to run its course to buy a new cell phone BUT you will not be eligible for any specials or special pricing on a new phone. You will have to pay full price for a new phone if you are still in a contract period. It is BEST if you can finish out your contract and then you will be eligible for "special pricing" and rebates on the cell phone when starting up a new contract.
I was wondering if I have to wait for my contract to run out before I can buy a new phone.

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic