I can elaborate a little more on the last paragraph. It is deletion
of the top level part direct under a message/rfc822 part which
gives problems because the headers of the message/rfc822 part have
to be changed in this case. It is hard to tell exactly how many
bytes and lines will be removed and added in this case.
If we can refrain from deletion of such parts and thus only allow
deletion of parts direct under a multipart part, then it is
relative easy always to make correct Content-Length: and Lines:
headers in the copy. (The correctness of the Lines count is
dependent of the correctness of the initial value, though).