That doesn't change anything. The company had no idea if the other candidate would pass the final interview or accept the offer until the very moment when they did, at which point they would have canceled OP's presentation. And that's what they did.
>They asked for a presentation knowing that there's a very high chance it will be meaningless.
So are you saying the better option would be for the company to say "well, there's a small chance we might hire you, but instead of giving you the opportunity we're just going to go ahead and reject you without even giving you the chance"? No, that's disrespectful.
>They didn't have the courtesy to sit through the presentation they asked for
Telling the candidate to waste their time giving the presentation that they already know won't change any outcome is disrespectful. If that had happened, we would all be here commenting about how the company is assholish for wasting OP's time by making them give a pointless presentation.