A couple of other options you may wish to look into:
SQ flies to CPT one-stop via JNB. The JNB I believe is every day. However, the flights continues to CPT some days and Durban on others.
OS currently flies to JNB and on to CPT with a code-share partner (LH??). However, this flight was ending soon (or may have already ended).
Varig no longer flies to South Africa on its own - only thru code-share with SAA = no UA miles even when booked with RG flight number.
Booking thru LH would be a bad choice because if its labelled with their flight number, you'll only receive 50% miles for the FRA - CPT portion. Of course, if ticketed thru UA, full miles plus any premier bonus, but that option does not seem to be working for you.