I have figured out a way around the problematic mail format that GeoCities uses!!!   What happens is this:   The message you are sent gets slapped together, as most of us know, with their HTML self-advertisement.   In doing this, they make the HTML and original message a multipart/mixed MIME message, which forces mailers to choose which parts to display, as most mailers can only display one at a time, and most don't allow you to choose which you wish to see.   The one I use at home on my Amiga is YAM, which will let you view the separate pieces of the original message.
    The real problem comes in when you've been sent an attachment.   The attachment will already cause the original message to be multipart/mixed MIME, with some specified boundary - we'll say that boundary is "original".   GeoCities then tacks on their HTML self-promotion, which causes the whole thing to be again wrapped up in a multipart/mixed MIME with a boundary like "--geoboundary" defined.   That means that what you end up with is something like this:
multipart/mixed MIME; boundary="--geoboundary"
----geoboundary
Content-type: text/html

HTML promo
----geoboundary
multipart/mixed MIME; boundary="original"
--original
Content-type: text/plain

the original happy message
--original
content-type: application/x-zip-compressed

MUUENCODEDSTUFF
MADINFINITUM
--original


----geoboundary
    So, I don't know what kind of mailer GeoCities' employees use, but there aren't too many that support nested MIME like that.   Heck, I bet my simplified explanation doesn't even make sense to some of you, so imagine the fits some poor µsoft or Netscape product would have trying to figure it out.   :^)

  The solution (read: workaround :^)

    Save the message to a separate file, say, to your desktop.   Now, open that file into a text editor that can handle huge files.   Next, look for the original message, which should be just after the GeoCities advert.   Look for a line that says something like Content-Type: multipart/mixed; boundary="SomeBoundaryString" (it should be just under a geoboundary).   Copy the boundary definition line (i.e. the entire line, not just from boundary to the end of the line); and go to the first boundary definition that is in the headers at the top.   Now paste your copied definition in the place of the "geoboundary" one, thus replacing the GeoCities Content-Type declaration with the original one - we're making it look like it did before GeoCities had their way with it..   Now, with maniacal cackles, removing only entire lines, delete the GeoCities HTML advertisement, and every line that has a geoboundary on it.   Be sure that the first line with something on it after your headers is the first non-geoboundary boundary line (it should start with two hyphens (--). which will be followed by the Content-Type and Content-Transfer-Encoding.   Remember, only delete entire lines, not just parts of them, otherwise, you may face wretched heartache.   Finally, save this file, and try to open it; it should look like you'd expect it to, with properly accessible attachment(s).
    If this is unclear, or you have problems, then you may mail me at nmx@geocities.com, and I will try to clarify.
Note that µsoft's mailer stupidly uses semicolons (;) instead of commas (,) as delimiters between email recipients, in case that link gives errors.