There are many sites to register a domain name of which I will mention 2:
1
www.sadomain.co.za - The cost is from R100 to register a domain name
2
www.bargainhunter.co.za - The cost is from R100 to register a domain name
I think the fees goes to ICANN the Internet Corporation for assigned names and numbers if it does not go to the company who provides the service but I might be wrong, I could not realy find an answer for that question.
I looked at the following ISP's
1
iBurst - They do not provide a FREE domain registration
2
Vodacom - They do not provide a FREE domain registration
3
MTN - They do not provide a FREE domain registration
4
Telkkom - They do not provide a FREE domain registration