Alright, it's all working now. Only one small niggle: even with LASTDRIVE=E the zip drive takes over D and the CDROM becomes E. But that's only when I load the ASPI drivers in the config.sys file.
In my config.sys I've got something like (and you'll get the point):
LASTDRIVE=E
DEVICE=CDROMDRIVER.SYS /D
DEVICE=FIRSTASPIFILE.SYS
DEVICE=ASPIDISK.SYS /E
With just LASTDRIVE=E and the two ASPI file lines removed though, the Guest.exe file properly makes the Zip drive E: and my CDROM is on its appropriate D: letter.
Something peculiar is that MSCDEX finishes loading after the Zip drivers are loaded, then gives me the MS copyright line and says MSCD001 = Drive E, or whatever. So it's stealing it at the last minute.
In the end I'm most likely going to use the Guest file anyway since these Zip drivers take too long to load, and I won't use it too often. I'm just curious about the letter-stealing.