I have never been able to complete a held booking online.
One agent explained that if exchange rate fluctuations cause the Sterling equivalent of an overseas tax, fee or charge to change by even a penny (thereby changing the total fare) then the system often can't identify the booking and manual intervention is necessary. I have no idea why the system would ever be matching by price, but that's BA's IT for you.