I basically come down on Mark's side on this one, too. However, I think
we (or somebody, at least) need to do *something* to make life easier
for the 8-to-7 gateways. This might be as simple as producing some good
public-domain code to do the tearing-apart, part-encoding, and putting
together again of a multipart message.
Alternately, I could imagine a moderately wretched compromise: encoding
is only allowed on lowest-level parts (the Crispin approach) *or*
top-level parts, but not on intermediate parts. This would allow an
implementation like Mark's to remove any top-level encoding upon initial
receipt of a message, with the security of knowing that any other
encodings were bottom-level.
Terribly ugly, I know, but possibly a workable compromise?