Did you keep a record of the dates, times of each call and what was said? And any emails or screenshots of the booking in your account whilst you waited for the payment to go through? All that will help your case.
Personally I would put in a complaint, but the more evidence you have the greater the chance of someone at BA actually doing something about it.