We have talked about this before. There are a number of issues at play here - most of them look like problems with ...... yes the BA website or more accurately the BA back office IT systems.
When you pay for the ticket the BA website goes out to the card issuer and ask for an approval code for the total amount. It gets back an approval code which then needs to be matched up by the back office when it actually submits the transaction to the card issuer a day or so later. It is not doing this which means the card issuer (in this case Amex) will deduct these funds from your credit limit until it either sees the transaction (which it never will as BA does not seem to submit the correct trans id and approval code or until a number of days have passed - I think Amex is 8 days whereas VISA/Mastercard are 7 days.
The other problem which is also a BA problem is that if you buy two tickets of say £3.5k each for two separate passengers on one booking (PNR) then the BA website will ask for authorisation of £7K but the BA back office submits the transaction as two separate transactions of £3.5K each without any details of the approval code so the same double hold of funds occurs.
The specific problem that the original poster had looks like another bug in that he says he entered the incorrect CVV for his Amex which should have led to a failed transaction rather than a valid pre-authorisation.