That's likely due to the fact that iPods don't retain a full history of the plays. Only a count and Last Played date and time. Thus, upon sync it will update these two fields, but adds nothing to MM's PlayHistory table, which retains a full history of your playing statistics (meaning each time a song is played, the date and time is stored here). This script pulls it's information from this part of the Database, as using only the Playcount or Last Played date and time wouldn't allow you to see if a song was played last week, if you've already played it again this week. Thus, this is a limitation on Apple's part, and less MM/this script.
Some people prefer to insert "fake plays" into the play history table to account for these iPod plays. There's some scripts around here that would help you do that, such as the Add/Remove PlayStats script also by Bex. It also works in reverse, as it can reset the playcount and last played to the count and latest entry for songs in the Playhistory table, thus removing the plays added from the iPod. Or, you could just leave it alone, and just continue on like you are now.
Awaiting for 10160
to be fixed/implemented before thinking of moving to MMW4.1 + MMA.