Try sending AA an email as to whether Morocco is in Africa or not. If they respond back, you will have proof. It has taken usually 3 days for my emails to be answered.
If they tell you something you don't want to hear, argue that it is not stated in the rules and simple geography dictates that it is in Africa. The general public can not be expected to know the IATA definitions of what country is in what continent. I would guess any judge would rule in favor of that arguement.
Is LHR-JNB really that cheap? Is that through a bucket shop or through BA?