An alternative would be to load complete folders. My idea is the following: Define a savedir like "cache" and add it even to the paths 3dgs is using. In this directory you can copy all the files you need for the loading process and then load the file as you did until now. You can copy the files using the windows API function "int SHFileOperation(LPSHFILEOPSTRUCT lpFileOp);" that is capable of copying any number of files from any directory to any directory. Before loading the next folder you should clean up the directory. Again you can use SHFileOperation for this.
EDIT: Sorry, I just noticed this is the c-script forum and not the Lite-C one. So directly accessing the windows API won't work. However you can use one of the various .dlls available here for file operations.