The unit's fine, it's brand new, and it's not the only one I've ever seen this with. This sort of anomalous occurrence is an unfortunate, yet very real and expected, intrinsic trait of GPS.
A GPS does nothing more than provide a location fix; an X-Y-Z (latitude, longitude, elevation) position. This is the basic measurement, known as a fundamental unit. Speed, heading, course, eta, etc. are all derived, or computed values using your delta position over a given amount of time, usually fractions of a second. Most GPSs provide speed data not as instantaneous readings for every delta, rather they use moving averages over say 5 or 10 discretized movements to compensate for GPSs inherent errors. Remember, most of the GPSs we use are in the range of +/-2 meters with WAAS enabled, but more often +/-5 meters accuracy. This is where we see occasional spikes of troughs in velocity indications. If, for instance, one positional fix is -15 meters, and the next of +15 meters, that's a total error of about 90 feet. This error over say even 250 milliseconds amounts to about 30mph error. All it takes is the gain or loss of a few milliseconds during clock re-sync (because the internal GPS clocks are synced with satellite time at set intervals), or the loss/acquisition of satellites giving slight positional errors, and you'll see some weird indicated speeds.
One more thing: For those with your antennas mounted high, you'll see the effects of rotationally-induced delta velocities in addition (or subtraction) to your translational velocity. When re-entering the water from a launch for example and the boat quickly goes from bow-high to level again, the positive angular velocity will add to your longitudinal velocity. The opposite holds true when rotating backwards.
This can be easily witnessed when sitting idle and bobbing around in some waves...I'll bet your gps is alternately reading between 0 and say 3 mph, just from the swaying.