Unfortunatelly, the fetchmail has a very problematic downside. It checks only if the mail has the "read" or "unread" flag in it. If it has "unread" then it will download the message and modify the mails flag on the source server to "read". If you tell fetchmail to keep it "unread" it will always download the message whenever it is downloaded yet or not. That's is why we can have infinite copy of our mails.
Still waiting for a good alternative. Getmail is not good, since it is scanning all the mails in the postbox. In case of 50-60 user with over 8000 mail in each postbox it is just too much.