Would the OP be able to get a partial refund for the return flight? The return flight is HRE-JNB-LHR and the OP is basically asking for rerouting of the return flight to JNB-LHR (which may be more expensive that HRE-JNB-LHR; I have not checked); I'm not sure if that is going to fly.
The outbound flights can obviously be cancelled.