First of all, thank you for this message. We've added "new line" between log records in the next Alpha.
"Insufficient funds" means exactly what it says. Wallet doesn't have enough unspent outputs to cover the asset amounts required in transaction you are trying to create with send... APIs. This may happen also if outputs cannot cover the fee (if you are using native currency). This may be result of insufficient number of confirmations - unspent outputs of transactions sent by another node can be used only after transaction was confirmed at least once.
The only special case of "Insufficient funds" is related to permissions. If you are trying to grant permissions, but you don't have unspent output belonging to admin, you will see this error too. Or you are trying to issue new asset without having outputs with issue permission. But this should never happen if you are not using createrawtransaction mechanism.
"Insufficient funds, but there are coins belonging to addresses without send permission or P2SH addresses." also means what it says. Unspent outputs belonging to addresses without send permission and P2SH addresses cannot be used in coin selection.
Anyway, these messages mean that you are trying to send more than you have.
I don't know why your nodes became unresponsive, but when you restart, some of the transactions may be lost (at least until all nodes in the network are in sync). I don't know how your application decides what it can send, but it looks like nodes have different opinion on that.