Bernard the Bard, baby! 1.9MB of MegaZeuxy goodness.
I got the extra memory working using Lick's RAM unlocking API and the dlmalloc memory manager. My strategy was to use the extra memory for storing the arrays of types, colors, overlays, etc. When a board is used, the memory is copied into main RAM, and when it's finished, it's copied back into extra RAM. This slows down loading, saving, teleporting, etc. due to unnecessary copying, but it saves me from having to make thousands of lines of code 16-bit write safe. It's still to glitchy to use, but I expect it to be easy to debug now that my red screens of death are working again.
Once I do the same thing with per-board robot memory, you should be able to play any world so long as it doesn't have a board that needs more than 1MB of main memory.