On a flight from Canada to Harare via Johannesburg (no overnighting) do i need to pick up my rifle, luggage and pass through security at Johannesburgh?
I would recommend that you spend a day or two in South Africa, then go to Zimbabwe. If you go directly to Zimbabwe, you are noticeable and drawing attention to yourself. Canada does not allow citizens to take firearms to Zimbabwe.
I know people who landed in Johannesburg, grabbed their rifle and stayed over a day or two, or left the airport and then re-entered and went to the airline check-in for the flight to Zimbabwe.
Understand that you could be in trouble taking your rifles to Zimbabwe.
Castnblast has given the best most complete answer.