With preload_mode == 3, morphed entities are preloaded when they are morphed, but not before. How can the engine know which entities you intend to morph in the future?
The solution is a function like suggested by tindust:
morph_preload(STRING* filename)
{
ent_remove(ent_create(filename,NULL,NULL));
}
This can be called in a list for any entity file that you want to morph later.