Firstly, I think the route to Cancun has been dropped (??) not sure though.
Secondly, I don't have the info as to when the MEX route was inaugaurated-some time in the early '90's perhaps??
Thirdly, when BA shifts a longhaul route from LGW to LHR, it is because that service is producing higher yields than expected-it thus makes sense to move high-yield ops to LHR, as BA's present philosophy is to focus on premium pax.
By relocating to LHR, it is partly doing it's premium customers a favour-LHR is closer to London, and offers many more connections for the First or Business Class passenger.