You’re right; one of the airlines should have promptly rebooked your parents on the next available flight – not the next flight with available seat inventory.
It helps to know a little about how award tickets work. A sophisticated computer algorithm determines how many seats per flight become award seats, which is to say, seats for which the airline is willing to accept frequent flier miles as payment. But what the system is actually calculating is the number of seats that would go unsold. (Maybe they ought to call them leftover seats instead of award seats?)
Anyway, when your parents’ flight was canceled, the system gave you two choices: either refund the miles for the unused tickets or book your parents on the next flight with leftover seats.
This seems perfectly rational to the airline; after all, it’s giving you something for nothing. But from your perspective, it’s an insult. You worked hard and spent lots of money to accrue those miles, and to ask you to wait a month is unacceptable.
I notice that you spent a fair amount of time on the phone with British Airways and Cathay Pacific after the storm (this incident happened several months ago, but I am just now writing about it). That’s fine, but you also want to put your grievance in writing so that you have a record of it. At some point down the line, British Airways will realize that it ticked off one of its best customers, and a written record tends to help everyone reach that point sooner.
I contacted British Airways on your behalf, and it worked with Cathay Pacific to find your parents two seats on an acceptable flight.