Hi, Mark.
I've looked only at the M5223X releases, so I haven't had to consider the full range of problems. However, if I understand your message, the identical file might appear in SP9 for the M5223X but SP3 of the SAM7X releases.
My initial thought was to simply increment the SP number by one with each release, so if SAM7X is now at SP3, with M5223X at SP9 being the most recent service pack, the next release, e.g., SAM7X, would be SP10. I suspect that mightn't go over well with your various (mostly disjoint) groups of users: who wants to go from SP3 to SP10, anyway?
But how about build or revision numbers? Those wouldn't have to be sequential. I use SVN (with the TortoiseSVN interface -- very nice!) with a single repository for several projects. Since the revision number increases by one with every commit, regardless of project, the revision number for any single project can have a large jump from one commit to the next, because the intermediate numbers correspond to other projects. The tags, however, are simply labels, under my control, so they can increase any way I want, like product version numbers (when does a project go from version 2 to version 3 instead of 2.1?) or like service pack numbers.
If you used a similar scheme, a revision number in the header of each file that you incremented whenever you made a change to the file, then a text file (e.g., the release notes) could list the revision number of each included file.
Another possibility, with several benefits, one of which would be automating the revision number for each file: You could put the uTasker project into an SVN repository. Then service pack releases could be marked by tags. Licensed users would be able to download from the repository with a password.
Unfortunately, I haven't thought about the problem long enough or hard enough to find the "best, right way" to submit an entire CW project to SVN, so I simply put my sources (the files in ...\Applications\uTaskerV1.3 and its subdirectories) into SVN. For uTasker, you'd have to have a better, more comprehensive plan. If you do decide to go this route, you'd do us all a great service if you posted the details of the configuration of SVN that you used to control CW projects.
I also haven't thought about how to coordinate downloading a service pack from one repository and combining those files with the files in my own, separate SVN repository. It might be more delicate than it appears.
By the way, a side effect of all this discussion is that I discovered I'm already using SP8, not SP7 as I reported in another recent post!
Cheers,
Richard