Lets get this right:
By his own admission, the man gets a call from BA "have we charged you for the tickets" he says he checked with his credit card company then went back to BA and said "no you haven't"
Receives credit card bill and finds that he had been charged.
BA contacted the man as they realised they may have screwed up, when he said he hadn't been charged, of course they took the money.
The main charge of incompetence rests either with the card company or the client.