I had a bitter experience with british airways. I purchased a ticket with BA but was not allowed to board the flight since I had no transit visa to UK. My travel agent suggested me to go ahead with a different airways and I would get credit for this ticket. When I returned, BA had marked me as "No Show" and denied any credit. How can you say "No Show" when you didn't allow me to board the flight?
This is their policy and it sucks. I would never ever fly BA even if they offer free tickets. I would also not recommend anybody if you are not sure of your transit visa requriement.