What you say is true, but only for this snippet alone.

Across the codebase, at every layer where an output value gets validated, zero is never singled out and excluded, and in at least one canonical restatement of the rule (MoneyRange), zero is explicitly written in as the boundary.

MoneyRange's 0 <= nValue isn't an absence of a rule, it's a positively stated rule that includes zero.