With @Dreikblack's help, I determined the problem was that the project update routine was not replacing the $PROJECTNAME string in executables, when a new Lua binary was found. Instead, it was copying the executable, which caused the files $PROJECTNAME.exe and $PROJECTNAME_d.exe to appear in the project. (This routine was recently refactored to make it more reliable, but unfortunately my rewrite did create a new and different bug.) Once that was determined, it only took a few minutes to fix. This will be included in the next build of 0.9.7 that goes up.