I will keep you posted Andy. Our Default Targets are also not difficult to recreate but it is annoying for our Patching Team having to spend time to recreate them. This issue has supposedly been going on for over a year before I joined.
Anyways, I have found that the spGetResourceTargetsToPurge is the stored procedure which identifies the Resource Targets to be deleted. The way it identifys the Resource Targets is by looking at the LastAccessedDate and if any Resource Target has not been "accessed" for more than 7 days then it is deleted.
I have asked Symantec how the LastAccessedDate field is updated as I can only find two ways:
1) Editing a Resource Target (Even if it is to click the Update button)
2) Running the spResourceTargetDeltaUpdate stored procedure
The workaround I am looking into is writing a script which identifys the Resource Targets applicable to the "Windows Patch Remediation Settings" and if they have not been "Accessed" for 6 days it will then pass the guid to the spResourceTargetDeltaUpdate stored procedure each week.