1) Are you 100% that the game would have a divide by zero error? I think it's equally likely these systems are using a multiplier on a constant value subtracted each tick. Using food spoilage for example:
imagine a food item with 100 food "health" w/ 1 removed every time tick
new health = 100 - (1 * multiplier)
or more generally for any stat
V = V + (S * M) where V = Value, S = Stat Delta positive or negative, M = difficulty multiplier
In a case like this, which I feel is not unlikely, there would be no issues with 0 values as it's a multiplier on the base scaling factor being subtracted. I actually think the description would suggest this as it uses percentage scaling which would be easily implemented this way for nearly everything (at least as far as I can tell from the outside). If it were to use dividing to scale that would result in exponential decay and food not spoiling as it asymptoticly approaches 0 or at the very least non-linear decay in spoilage. I could be wrong, but from what I can see as a player I think it's more likely it's not dividing for scaling and rather using multipliers on the default values to scale up/down as I describe.
2) Even if that's the case you can still implement near 0 values that have in practice the same basic effect by having the percentage so low that it isn't '0' but is so close to it it would be nearly forever to spoil. (e.g. if floating point is supported near 0 values 0.000000001 or if integer only as low as 1 percent). Not as ideal as a full disable for some systems, but a lot better than being limited to just 25% on the low end