I dont see anything wrong that is obvious. Weird indeed.
There is one tip however, notice that when it gets that 0.0 value, it also detects a new peak.
My guess would be that this new peak is probably so big, that it cant be printed correctly, as the Arduino does not print in exponential format.
So choose a sensible maximum, like 10000 perhaps, and discard any of those 'bogus' values, and just take the next sample.
Hope this helps
