I've just noticed that BA106 on 29 July was actually operated on 30 July as BA106X. Without getting into all the details of the Sturgeon ruling about EU compensation, basically BA will argue that the flight was delayed, not cancelled. They will also probably argue that you should have used that service, not Emirates. Therefore the EU compensation will be very difficult to obtain (at the moment, depending on other legal arguments), and your spending on EK may be difficult to recover too. Your strongest argument is being told to make your own arrangements - particularly if you can remember the names of the staff who told you that.