Hmm... thanks for the fix, though when trying to perform the same steps to recreate the error, I got a slightly different error (global table wasn't being properly initialized). I wasn't actually able to recreate your error, but I included the fix you provided, since it shouldn't break anything anyways, and should prevent crashes related to invalid entities (though I'm still not entirely sure how that happened).
Now that I understand more about how control.lua code works, I was actually able to shuffle some code around to enable/disable the auto-ingredient push without having to save/reload. So if you disable or change the setting mid-game, it will be reflected in-game immediately, and if you change the settings from the main menu, those changes will be reflected immediately when you load up into the game. Hopefully no crashes either; I tested a few surface related mods and everything still seemed to work, though I haven't run any extensive testing.
Hopefully all mod setting related issues should be fixed as of v8.2.15