In IMAP, a client is free to cache any part of a message for as long as it wants. That implies that once a server has sent e.g. a message's ENVELOPE to a client, that message can't be changed any more, or the client's cache would hold incorrect data.
The only way for a server to invalidate the client's cache is to send an EXPUNGE for the relevant message and issue a new UID. --Arnt