You can cancel a contract 3/4 of the way through. You phone MTN and tell them that you want to convert your contract to Prepaid. Tell them you don't want the airtime/free minutes/sms messages etc. You just want an amount to get out of the contract. Then, they bill you for 1x month + the price of your handset when you got it (devided by 24) X number of months remaining + VAT and tada, you have your amount.
To give you an example, on Topup 200 with iPhone 4 taken out 18 months ago, the settlement amount to get out of my contract is R450 (one month's bill) + R170 x 6 (the phone x number of months remaining) = R1500 - you pay it and the next day you're prepaid and ready to port to cell c.
Just be careful, they sometimes misunderstand you and think you want to "pay off the contract" in which case they take the R450 per month x 6 months remaining - that's not what you want!!!
Trust me, porting to cell C is a huge saving and the R1500 that you spend up-front to get out of your contract now will pay for itself in 2 - 3 months. Just think about it, almost R3 per minute to phone on MTN vs 99c on Cell C. On MTN, R49 buys you 75MB. On cell C, R49 buys you 326MB!! You can't even compare - MTN is 3x more expensive on everything. Also don't be put of by people telling you Cell C has bad reception - I've converted everyone to Cell C that I know - no one has any complaints and they actually have money now to go on holiday.