The POP3 protocol does not have any method for keeping track of which messages are read vs. unread. That is functionality usually implemented in the client.
For example, in Outlook 2007, by clicking the "More Settings" button in the "Change E-mail Account" window, you're presented with a "Internet E-mail Settings" window. In this window, under the "Advanced" tab, there is an option to "Leave a copy of messages on the server". When this option is enabled, the client will not delete messages after downloading. The client keeps a track locally of what messages have been downloaded.
So, when you switch clients, that local tracking process starts over, hence the thousands of "old" e-mails being downloaded.
It's a limitation of the POP3 protocol, so there's not much you can do. If the email provider also provides an IMAP service, you may consider switching to it, as that protocol can keep track of read vs. unread on the server.