Hi. This was so helpful. My passport renewed since i booked my flight. On BA.com it asked you for the passport no to amend you API, but I didn't know my old passport. Had same issue going through the account to update the old you are already logged in nonsense. flight was booked with an Amex companion Voucher. i tried the Quantas route, but said booked by an agent. i then tried Sri lankan which helpful displayed my old passport number although I couldn't amend on there. so I went back to Ba.com to the API section and was ble ot now put in the passport number of the original booking and that let me in to update to my new passport details.
What a ridiculous system!!!! However thanks to the suggestion on this thread found a way round it