I am not a pilot myself but can possibly see why the captain made the decision to carry on to LHR.
Once the damage was sustained the outcome of the following landing would of been the same at either JNB or LHR, however the downside would be that maintenance from Virgin's own engineers would be further away, Passengers would of had to be repatriated on SAA/BA's flights and as previously mentioned a great deal of fuel would of gone to waste.
Once at LHR the aircraft/captain had the required lower landing weight, had several large airports as diversionary options, greater technical support from its own engineers and less complications from side of things i.e. repatriation/hotels.
Whilst most of these points are probably neither here nor there and business points rather than safety implications, pilots are required, once safety concerns have been met to deal with and factor in, and as an emergency landing would more than likely have the same outcome in LHR as JNB then with the limited facts I think the pilot did the right thing, landing at a regular airfield over one with less familiarity