SquirrelMail (1.4.13 and 1.5.2-svn and older) sanitizes passed_id variable by typecasting it to integer. PHP supports only signed integers. On 32 bit system signed integer is from -2147483648 to 2147483647. IMAP message ids use unsigned 32bit integers. They are from 0 to 4294967295. If message id is bigger than 2147483647, typecasting corrupts it and SquirrelMail displays "The server couldn't find the message you requested. Most probably your message list was out of date and the message has been moved away or deleted (perhaps by another program accessing the same mailbox)." error.
Issue can be reproduced with mbox mailboxes that store new uid value in internal mbox information. You can set big uid value there. Works with UW and Dovecot.