The purpose of an accounting system is to record transactions, not stop you from taking action. Some bank accounts have automatic overdraft protection, so a user might actually wish to make the payment or transfer, even knowing of the shortage of funds, to prevent some other problem. Or a bank account might be a credit card account, where every transaction but a payment of the statement or a refund will take the balance more negative (a contra account, in other words). In that case, the restriction you suggest would be a major impediment. You might also want to record the writing of a check, knowing that while the account has insufficient funds at the moment, you will make deposits to cover it before the payee receives the check and presents it for payment.
Bank Accounts tab summary page and individual account listings both show account balances already. You must navigate through both of these in order to record spending money. So it is very easy to see whether the particular account has sufficient funds before entering the transaction.
As for finding errors, if you think about it, you will only be looking for an error if something has caused you to think one exists. At the
Bank Accounts tab summary, all bank account balances are displayed. You can drill down to see transactions by clicking on any one. In the resulting account ledger that appears, transfers are clearly labeled. I cannot think of any easier way to find an error. And your suggested change to Manager would be of no assistance in reducing errors when the incorrect account happens to have sufficient funds.
In summary, your suggestion seems at first to prevent errors. But it would only prevent one kind of accidental mistake, but would prevent common, purposeful actions. And it would not help find a mistake after the fact. For that, existing features already furnish all the information you need.