Is BA unable to provide it's transaction ID from November 21? That seems to be the nub of the problem. BA states unequivocally that it transmitted the payment on that date and your bank states unequivocally that the credit was not received.
It is entirely possible that BA did transmit and that OP's bank did not receive or that OP's bank did receive and credited to some other customer's account. But, none of this is easily traced without some identifier and as South Africa places the burden on the consumer, it does little to lightly advise OP to simply tell his bank to work it out with BA.
Perhaps a very directed call to BA asking for nothing more than assistance in locating BA's transaction ID for the November 21, credit memo might have some impact. Sometimes, when there is a singular solution sought, e.g., "I simply need one piece of information" it is easier to locate that.
As to pushing the bank into doing anything to the transaction, I would advise great caution. if BA has indeed paid out the refund and it finds itself facing a second debit, that risks BA doing anything from cancelling the ticket to raising an add/collect which would put OP in an untenable position when he attempts to check in.