Modern games probably use asset streaming, background threads and level-of-detail for more efficiency. However, the way this game was designed, prevents most of that. First, they made their own custom texture and model formats, that must be processed in engine code, before handing off to the renderer. Then, the program scripts that allow for easier modding and customization of behaviors also are notified at various points during asset loads so that the scripts can respond and add certain data to its variables that must be done in order of load, so that prevents doing anything in parallel threads and must be handled consecutively in the main thread.
The main culprit is the design of the program script handler and I am not going to try redesigning the entire game engine. The point was to take the original code design, but at least rid the prominent crashes and bugs that existed in the original. Also keep in mind that the "direct sail" was a modification to allow more interactive direct-sail, with encounters and such, but was also never part of the original game either, but was added by script modders.
I also saw your other question about camera movement, and that is also inherent to the original engine's timestep; their original timestep approach does not do well once frames get high. I had once contemplated using a better timestep resolution and delta approach, but a first pass broke much of the other physics and turned out to require much more work than anticipated, so I let it go.