Thanks, I wasn't aware of that. I'll check the code again to make sure that it's handled properly, but I think it is (if DSLstats sees a cumulative total value which is less than the previous value, it assumes that a reset has taken place, unless the value is exactly zero, in which case it's ignored as a missing sample).
(Later) I've checked the code, and I see that I've been storing these values in signed integers (maximum positive value 2^31) so there's a possibility of wrong values being reported when FEC rates are very high. I've now corrected this by storing the values in unsigned integers (maximum value 2^32). Apart from that, the program does handle resets of these values correctly, by saving the current error data as a text file and resetting the error data.