I like this a great deal, but perhaps the feature is being requested in the wrong script. Most of the change in functionality would need to go in a between battle script, since the decision may change when your location changes, but no counter will fire when this happens. I would be happy to add the necessary lines to BBB, if Bale and I can work out how the scripts would be made to work both together and independently.
The change in logic would only require adding a single setting. Basically, if you save yourself a fullness point by not eating a cookie, you are earning yourself at least one more adventure, probably more, so the valueOfAdventure preference could be used here. If the current location has a semirare worth at least optimalsemirare - valueOfAdventure*X, it's worth it from a turncount standpoint, if not a monetary one. I'd recommend making X the setting (number of turns a fullness point is worth to you), that way setting it to 0 would basically disable it.
Changes to CounterChecker:
If Fortune Cookie counters are known, it will always attempt to get the most valuable semirare possible (current behavior). However, it would NOT attempt to eat a cookie afterward. No additional handling for window counters needs to be added here.
Changes to BBB:
If no cookie counters exist (including window counters), eat a cookie.
If the window begin counter is < 1 and a window end counter exists, decide whether or not to eat a cookie based on whether the current location's semirare is worth at least X*valueOfAdventure less than the optimal semirare. If so, don't eat a cookie.
Respect CounterChecker's srInHC preference.
This would result in optimal stomach usage as described by suinoq.