Some additional information to reproduce the problem.
1. Close any existing project.
2. Create a new empty Win32 console project and name it Test.
3. Add three files to the Test project (file1.c, file2.c, and file3.c) by choosing Project > Add files to project... (For this test make sure each file has a main routine.)
4. By right clicking on the project source file listing, exclude all three files from the Test project.
5. By right clicking on the project source file listing, include file2.c to the Test project.
6. By right clicking on the project source file listing, delete file2.c from the project. Click Yes when asked if you want to remove file from the project.
7. Notice file2.c is now gone, but file3.c is now changed from being excluded to being included even though the ppj file shows the file still excluded. Also notice the ppj file is now missing the Test entry near the top of the file.
8. Click on file3.c, open it and try to do a build. The build will fail.
9. Close file3.c
10. By right clicking on the project source file listing, exclude file3.c again.
11. Notice, file.c can not be excluded. Also notice that the ppj file now has repeated file3.c under the EXCLUDEDFILES category.
12. By right clicking on the project source file listing, include file1.c to the Test project.
13. Click on file1.c, open it and try to do a build. Under Project, notice file3.c is still shown rather than file1.c.