It's a good idea to supply an example, and I think your
choice of always considering different messages different
is a good one.
The reason that I stayed so vague was worry that a message
store could consider two messages with the same ID to the
same user "the same message" and drop one of them. I wouldn't
want to disrupt sieve compatibility with such a message store.
But maybe I should wait until faced with one; I don't know if
anyone actually does this.
But rather than writing it like this
| A message modified by addheader, deleteheader, or replaceheader
| MUST NOT be considered the same as the original message.
I'd rather go by results and say that a message that is textually
different from the original is a different message and mustn't be
dropped.
That would allow a message store to drop the second and following
of an exactly identical message, which is something I'd still
like to allow.
Jutta