That is always how it has been specified and implemented. The actual constraints are described in ZIP 209 (which needs to be updated to reflect recent changes; I will do that soon [edit: done]), but the gist is just that each chain value pool balance MUST remain within [0, MAX_MONEY]. There is also a consistency check between two ways of computing the total supply.
5 Likes