Just in case anyone ever searches for this issue, and wants to know the outcome, the very helpful and friendly people at BA are able to change a redemption flight, without cancelling and re-booking, provided the flights stay within the same 'zone' (so they could change my "LHR-JNB in J; JNB-LHR in J" to "LHR-JNB in J; CPT-LHR in F"). They just put the new redemption seats on hold, and arrange for ticketing to call you back to re-calculate taxes etc.
Thanks for all the help!
J