If you add the following line to /opt/zimbra/conf/log4j.properties:
You should see messages written to the log that tell you how many messages were returned by the POP3 server when issued the UIDL command. If you're not using leave-on-server, that number should match the number of messages added to your mailbox. If you are using leave-on-server, we check the UID of each message against messages we've already seen, so only new messages are added.
Let me know if the debugging info helps at all. I'm starting to realize that we need to make data source debugging more verbose, to help people diagnose these sorts of problems.