Bitcoin.conf setting for CPFP - how can I enable longer 'chains' of unconfirmed transactions?
The maximum unconfirmed descendant count is a mempool setting, not a wallet one. Assuming most of the network run with the default of 25, even if you changed your own mempool to accept a longer chain the last child transaction would not relay.
Anyways, in such an extreme case (a chain of &gt;25 unconfirmed transactions) you likely want to bump your fees already. And batch your transaction next time..

how bitcoin core decides to allow an additional CPFP transaction to be chained, and when it gives an 'Insufficient Funds' error.

The wallet will by default spend unconfirmed change (transactions it itself created), but not unconfirmed incoming payments.