Some remarks, though:
1) Premium fares ex LHR are indeed higher than out of any other european city. This is a general fact that goes for all intercontinental destinations.
2) Regarding traffic originating in Europe, however, BA's and SA's planes out of LHR are not filled only by local boardings. Actually, most of the traffic is connecting European traffic. Fares of BA and SA ex AMS, BRU, VIE or whatever european city will of, course be, similar or even more competitive than fares charged by the local airline for a direct flight...
3) Fares originating in South Africa are another story. A lot of frequent travellers will be able to talk to you about how interesting it is to go shopping for airline tickets in South Africa, as the local fares -on all carriers- are extremely cheap. Typical coach seats to europe start from R.1.500,- roundtrip, whereas business class tickets will sell for as cheap as R.12.000,-.
Premium fares on combined longhaul flights are actually even cheaper. The local fare for, say CPT-LHR-NRT roundtrip is cheaper than LHR-NRT roundtrip for premium fares. It is therefore widely known that businessmen go shopping for open tickets in SA, and sometimes simply throw awa the South Africa-Europe portions of the ticket, although this is illegal.
Note that those fare are local fares that can only be obtained in South Africa.
4) Finally, I didn't say that those flights are actually loosing money. I just said that their yields are for sure not the highest in BA's network. I think, for instance, that BA's 2 daily NRT flight are bringing much more money to the company.
VS was not fighting so hard to get some flights to CPT because of the yield, but because it just didn't want BA to get these flight...