I was booked on a flight between BKK and SIN on CX in J. Flight was oversold, so CX transferred all fare paying business class passengers to GARUDA! Some went on, most complained.. and were then put on SQ.
Basically yes, if you're booked on a flight which was cancelled, under EU law, they have to get you on another flight departing within 4 hours of the original flight of at least a similar calibre. At least it wasn't something like Air Asia X ! OP might write into CX and see. Sometimes they might offer extra miles on top of the miles one is to get if one flew the original CX flight.
Wonder why CX didn't transfer you to BA?