Some browsers share the user's "session" across multiple tabs, others don't. The "session" is used to store the information about your
booking, as you go from page to page.
So, if you had two tabs open on ba.com, doing the same process (booking) your interactions on one tab could overwrite your session data that was previously stored from your interaction with the other tab.
I suspect this is what has happened here.
Did you ask about the 24 hour cooling off period - cancel and then rebook?