Without knowing more it's difficult to say what happened here. It is the case that BA agents would typically tend to send TA bookings back to the TA, but over the last few years the Engagement Centres have taken on the role of on-the-day rebooking, which is quite different in approach to the usual management of bookings. So the BA agent should have taken this one over.. However TAs equally have the right to directly use the Standard Customer Guidelines to rebook on to other services and other airlines in the event of a cancellation. It should not be difficult to rebook and use the appropriate code encoding on the booking to endorse the flight to other services. IATA 735D allows passengers to use (e.g.) Air Canada and there the TA would need to contact BA to get permission to do this, but some OTAs seem unable to do this (as in, don't want to do it or don't know how to do it). I can't think of any reason why someone would be told to buy there own ticket, and reimburse, unless the only practical airline was non IATA, a low cost carrier in other words.