Without being facetious or critical - did they not offer to rebook you via Singapore?
There is a Valueair Flight (Yeh I know - but they have a partnership in place with BA as it's partly Qantas Owned) that leaves Jakarta 25 minutes after the CX/BA codeshare that connects with both BA SIN-LHR flights.
I find it weird that after a whole bunch of cancellations out of HKG they would send you back into the breach with possible further cancellations and several other flight loads of pax to squeeze back into London - when they could have re-routed you and got you home within minutes of your original time.
Not really out of the box thinking - all my out of my Jakarta flights utilising BA and onwards flights from Singapore.