The itin looks fine to me, provided that no more than 1 of your London visits are stopovers (stay of more than 24 hours).
You might wish to consider leaving at least the HKG-LHR segment open (though many here, myself included, would suggest leaving all but the first flight open). Leaving that segment open will let you easily chose between the BA and CX flights, and you'll have already experienced both to make a fair comparison. (The rules allow you to switch carriers even if the segment is boooked at the time of ticketing, but some carriersagents will give you a hard time about it.)