**Expected behavior**
It is expected that Bitcoin Core is not shutdown automatically during startup. Moreover, it should be possible to set transaction fee at 0.

**Actual behavior**
![Bitcoin Core Error mintxfee](https://user-images.githubusercontent.com/111286121/210274894-e91adf7f-43f7-4c3f-b799-222c00dc34a0.png)

**To reproduce**

1) Click bitcoin-qt.exe.

**System information**

1) A wallet that contained unspent funds was opened previously.
2) The bitcoin.conf file contains "mintxfee=0".
3) Bitcoin Core 24.0.1 official binary for Windows (portable).
// interface.
    Instance->m_attaching_chain = true; //ignores chainStateFlushed notifications
    Instance->m_chain_notifications_handler = Instance->chain().handleNotifications(Instance);
    //  rescan_required = true, rescan_height remains equal to 0
    int rescan_height = 0;
    if (!rescan_required)
    {
        WalletBatch batch(Instance->GetDatabase());
        CBlockLocator locator;
        if (batch.ReadBestBlock(locator)) {
            if (const stdoptional<int> fork_height = chain.findLocatorFork(locator)) {
                rescan_height = *fork_height;
            }
        }
    }
    const stdoptional<int> tip_height = chain.getHeight();
    if (tip_height) {
        Instance->m_last_block_processed = chain.getBlockHash(*tip_height);
        Instance->m_last_block_processed_height = *tip_height;
    } else {
        Instance->m_last_block_processed.SetNull();
        Instance->m_last_block_processed_height = -1;
    }
    if (tip_height && *tip_height != rescan_height)
    {
        // No need to read and scan block if block was created before
        // our  birthday (as adjusted for block time variability)
        stdoptional<int64_t> time_first_key;
        for (auto spk_man  Instance->GetAllScriptPubKeyMans()) {
            int64_t time = spk_man->GetTimeFirstKey();