CRC, to answer your question:
Collectors and "bona fide" shooting sportsman who are registered as such with the South African Police may apply for semi-auto rifle licences (up to .50 cal.). (ALL firearms require a licence which takes 30-60 days to get. They check your fingerprints every time and generally do a good job of vetting your application.)
A full-auto weapon (up to .50 cal.) requires a Section 32 permit, which is a schlepp to get. Only registered collectors may apply and the Minister of Safety & Security signs the permit himself. So some guys here do have Maxims, FN MAGs, Browning .50s, Browning .30s, etc. in addition to AKs, MP5s, M16s, etc.
Barrel length is not regulated and suppressors can be bought over the counter.
Ammo purchases (even .22) requires you to show your licence for that particular firearm to the dealer.
Foreign visitors (hunters etc.) get a SAP312 temporary import permit at the airport. No full autos, and semi-auto long guns "by prior arangement only" (to be safe).
If you have a handgun (which is licensed, of course) you may carry it concealed anywhere (except government buildings etc.). Same applies to a foreign visitor - the SAP312 acts as a temporary licence.