The 80:20 rule says that to get a system to do most things you want is fairly straightforward. Getting it to do the unusual cases and exceptions is much much harder and costs far more cash to build and test the system.
Yes, Air Canada might have been able to change their system to handle situations like yours, but the IT cost would be so much larger that it's probably cheaper in terms of management time and monetary cost, to just put up with this and deal with other more important issues elsewhere in the airline