One poster reported above that it is possible to get ticketing done by BA in JNB. You could try setting up your itinerary by phone with BA and then ticket by phone. Back in the Mauritius days I did ticketing this way (but I had to go to the BA office in Mauritius to pick up paper tickets).