The key to this question is whether you are transmitting South Africa without collecting your luggage or not.
If you are flying to South Africa on a carrier other than SAA, you can generally leave your ammo in your checked bag (always in a locked box). If you are flying into South Africa on SAA, you will need to put the ammo in a separate checked locked box.
If you transit South Africa and your luggage is checked through to your final destination, the rules of the original airline which checked the bag will apply, generally all the way to the final destination. Thereafter, it will be the local rules which apply. So, if you stop in South Africa, and collect your bags, regardless of whether you are just staying the night or are actually hunting in South Africa, you will be required to put the ammo in a separate locked box for the ongoing flights.
This is why you can have two people flying to the same destination having different rules. If I fly from Canada Vic Falls, the flights to South Africa (going through Europe) will generally arrive early enough that I can connect to my flight to Vic Falls, and never enter South Africa. I can leave my ammo in my checked bag all the way.
If I fly from the US, the flights generally arrive too late in the day to connect to Vic Falls, sol I will spend the night in Jo'burg. The next morning, when I check many bags to Vic Falls, I will have to put the ammo in a separate box.
Same route, different result.