I completely agree when it comes to personal accounts, but the restrictions required to avoid extending credit make such accounts impractical for any realistic business purpose. You can’t, for example, allow the customer to write checks.
I know this debate is about the US banking system, but I feel the need to point out that in most of the EU, cheques basically aren't used, and business purchases are generally made by wire transfers.
Without a chequebook or credit card, you could offer a bank account without any risk that the bank would ever have to pay out more than its nominal balance. Bank runs could still be a problem, but I feel an appropriate pricing structure could solve that.
Wire transfers can be reversed. It's rare, but when it rains it pours. Maybe this could be "solved" by holding all incoming funds for, say, 60 days but that would be extremely hard on most businesses.