but leave the option of using an empty "" string to set to where the gmk is
The "" wouldn't set it to where gmk is. It would set where the exe is (the temp folder). So LGM needs to pass the gmk folder. I think it would be easier just to change the working directory when launching the exe, not adding a code line in some IDE_EDIT file just when launching using LGM. Because this would break exe's that are copied OUT of the tmp folder (like all executables, because we don't have a normal Build button). So it would be better to just set it in CompilerSource\compiler\compile.cpp.
edit: Actually the line is in CompilerSource\general\bettersystem.cpp, line 201. The CreateProcess has NULL parameter where working directory should be (that means it uses parents process directory just like Josh said) and that is where we need to pass the path from LGM.