Thinking about this some more, there's actually no reason missions couldn't be compiled to .dso. I'm assuming it's failing somewhere in the loading stage because certain parts of the code look for a file with a .mis extension and expect those to be readable text files (see loadMission() and buildLoadInfo()). Those parts could easily be rewritten to just exec the mission file like a normal script and proceed from there.
Another potential option which might work:
1). Compile your mission to dso as you were doing before.
2). Create a blank file, name it <something>.mis and inside this file simply add:
3). Now when you load a level, have it load the blank <something>.mis file.
I can't test this right now so it's entirely possible it'll fail as well but might be another avenue to explore.
Oh, and here's an oldie but goodie on adding encrypted zip support:
http://www.garagegames.com/community/re ... iew/9896/2