Check21 created the legal framework to allow for check truncation.
Your bank never "clears" a check, checks are only paid at the bank they are drawn on. My bank gives me instant access to all my check deposits but I don't labor under the delusion that means the checks have cleared.
The bank a check is drawn on generally doesn't do much more than see if the account has enough funds and relies on its customers to inform them if a particular check that was presented was fraudulent, this can take some time. You always remain responsible for bad checks that you give to someone else, within the statute of limitations.
The same is true of many things. Let's say you had a rare coin and sold it to me for $500 and 6 months later I sold it to someone else for $600. That someone else took the coin into a dealer 3 months after that to have it appraised and is informed that it was a fake. That person has legal recourse to recover the $600 from me and I in turn have legal recourse to recover the $500 I paid to you for the fake coin. That 9 months have passed doesn't matter, that you thought the coin was real doesn't matter, that I thought the coin was real also doesn't matter.
Just because you got a bank to give you money for a bad check doesn't shift responsibility for the loss from you to the bank.
So as to make it clear, when you accept a check from someone you are taking on a risk that the check is bad. Don't take checks from strangers or people you know who might stiff you.