When you re-generate a project, don't throw the cs/vbproj files away, but make them writable (i.e. check them out). This will then make sure the project file generator will UPDATE the project file and keep the guid and the SAK references.
Then, after you've checked it back in, and some other person does getlatest or checks out the project, the file won't break, as the GUID stayed the same and teh proj file does have SAK references so sourcecontrol will work.