I tried your code on 7.5G SR6.., It works fine. I don't know what happens. If this problem persists or there is other problems, please consider reinstalling Origin.
OK, I understand now. Folder fld declares a Project folder and has nothing to do with disk folders. Similarly, fld.AddSubfolder() creates a Project folder whereas CheckMakePath() creates a disk folder (if it doesn't already exist). Your original code works if the project has not been saved so that Project.GetPath() is empty. It fails as you describe if you try it in a saved project.
I understand. The main point is that I mixed up disk folder and Origin's internal folder structure. I didn't read the description of the class "folder", but only the one for .AddSubfolder