I hated to dig up this old thread of mine, but I thought I would post to say what I ended up doing...thought it might help someone who searches for something similar.
I ended up using the "rolling average" method that some people suggested. It worked perfectly in my particular application. Basically, I count how many packages pass the limit switch every minute. I take this value (each minute) and load it into a FIFO stack with a length of 60. When the length of the FIFO has reached 60, I start unloading the oldest record, in other words I get rid of the data that was recorded 61 minutes ago.
When production starts, I start accumulating an integer as my total. During the first hour, my total is just this integer alone. After an hour has passed, each minute I just subtract the oldest minute and add the newest minute, thus getting my last hour's production. From here I can divide by 60 to get the average minute's production, etc.
And just as I thought, and others of you did as well, it wasn't long before people started trying to figure out where the numbers were counted from so they could try and cheat and make their numbers higher. So, I set up some logic to determine if the limit switch was being actuated by hand. In the event that it is, for that minute it adds 0 to the FIFO stack (regardless) of what the actual production number should have been. So, you actually get penalized for messing with the limit switch. That'll teach em'!
My thanks to those who responded with ideas and suggestions. Your help made it happen.