You can check availability on the BA site - log in with your executive club member - go to the "spending BA miles" link and then click on the "Upgrade a new booking using BA Miles" and plug in your cities and dates and the class you want to upgrade from, ie premium economy. If your exact dates aren't available they give you a calendar of dates that are.
I found that you have to check it by segment - ie JNB-LHR and that if you put the whole thing in. like DFW-JNB, then it gives you an error message. There is a also the option to book a stopover to Cape Town - it is possible you may find some space that way.
I couldn't get it to book online, but when you can see the availability it saves you from wasting time always calling until you see the space.
The taxes are outrageous though - the fare from Chicago-JNB roundtrip is $2500 - the taxes are almsot 20% on top of that, around $476.