Assuming you implemented it correctly, the only thing I can think of offhand that could produce negative numbers is caching issue vs.visitors who are on the move and crossing over time zones in the process - something that's not entirely uncommon. The reason this may affect it is because the plugin gets the time locally and most mobile devices automatically update their clock when moving to a new timezone.
As to filtering out cached pages.. afaik there is no way to do this "out-of-the-box" with Adobe Analytics, and there is nothing natively exposed to javascript to tell you this. However, there are some tricks you can do to figure out whether or not the page was loaded from the cache. You can utilize this to set a prop or eVar and then create a segment based off that.