i dont think this is the problem because $pop->message is used to get a particular message and $pop->messages returns a list of all the messages,and it does, but only for a limited no. of messages, after which it returns only the last few messages of the mailbox, as if some sort of paging has been implemented and it gets the messages of only the last page.
Comment on Re: Re: getting list of all POP3 messages
There certainly is no difference between the message's on MailBox's side. All messages are treated equal (and none is more equal than the other)
You may add some print statements to Mail::Transport::POP3
sub send() to trace the communication.
Or try a different POP3 client (mozilla?) to list the messages: do other POP3 implementations show the correct result? This to see on which side (client or server) the bug is.