May I offer a perspective on the British business "ethics" side of this; maybe relevant as it involves BA.
If we make any commercial commitment it's our responsibility to get it right because we are going to have to stick to it. "Commitment" by the way can involve just a handshake or a verbal quote (US business people I meet find this astounding). You as the company representative said it, your company is expected to honour it (possibly the origin of the word honour in this context). What your employer may then do to you if you screw up like this is, of course, up to them!
We come across this periodically ourselves in contracts, with wrong rates quoted, items missed out of the arithmetic, etc. Tough. We have to do it. Best approach is to tell the customer there was an error BUT you will of course honour it (you have to get this out in one sentence without any hesitation between the two parts!); they tell you of course, and both sides have full respect for each other. They may even feed you some extra business later to show they recognise you are a good person to deal with.
What is considered unethical over here is for a company to make a commitment and then try and worm out of it on a technicality. Just not acceptable. Someone at BA will be having a little meeting with Rod Eddington, the BA Chief Executive, I am sure. An interesting meeting. I doubt the executive floor cocktail cabinet will be opened for them.