Maybe your water meters have a firmware that performs a join on every data upload (that is bad behaviour). On every join a “nonce” is used, basically a unique number. Your device cannot use the same nonce twice, and at some point you run out of unique numbers (it’s a 16-bit counter I think).
With newer versions of the LoRaWAN specification, the nonce should be incrementing (not just some random unique number). See also: