I've found that LHR-JNB leg to be particularly bad, for what it's worth. Twice in the past 12 months I've needed to submit missing mile reports, follow up by phone (multiple times), and eventually in each case AC just added the miles manually. They seem to be a bit out of sorts on the SAA end on these flights (i.e. Aeroplan sending requests for confirmation that the legs were flown, which requests just disappear into the ether and go unanswered). You'll get credit as long as you're persistent enough in bugging Aeroplan, though.