I'm up to nearly a month since making a payment for a BA holiday and the money still hasn't come off the card. It's taken so long the pending transaction has gone from my account online and even the block on my available credit has now gone. I would have thought that BA would have liked the cash in the bank but clearly not. I've got the receipt for payment and my booking is showing fully paid up and confirmed so I'm not concerned.
I'd quite like them to take it soon, it was helping with the sign up bonus spend on a new card!