It seems to me that a person ought to be able to reasonably rely on a bank acting like a check has cleared, at least after some clearly stated period of time.
There isn’t a dependency.
The legitimate account holder said “Send $x from my account to y” and the bank did.
There was no fraud in that transaction.
As for your second point - funds are required to be available before the check clears by federal law. Complain to your congresscritter, not the bank.
Not sure why I’m getting downvoted for stating simple facts...
Fixing that wouldn't require a change to the funds availability policy, and wouldn't require it to dishonor any transactions. As the original complaint indicated, it would literally just be a UI tweak: the online banking system could highlight provisionally available funds differently from really really available funds, and in that way communicate to customers what is actually cleared and safe to spend. This isn't a big ask.
In addition to protecting account holders from a massive range of fake check scams, that would also protect them from a bunch of other crooked stuff.
For example: did you know an employer can reverse a direct deposit of a paycheck for some amount of time after it seems to go through?[1] Employees get screwed all the time when their employer randomly decides "oops, we paid you too much" after the money is already spent. Which is insane and unfair but---we wouldn't even have to change the system to protect many employees. Just have banks clearly indicate which direct deposits are final and which might still go poof if the employer unilaterally decides.
[1] old example https://www.nytimes.com/1997/03/23/business/turning-direct-d... --- but I know people to whom this has happened this year.
Once the check is disputed, the money gets yanked back from the depositor’s account. That’s why personal checks are just a completely unreliable method of payment and should only be used between trusting parties.
As cruel as it sounds, your sister performed a legitimate transaction.