Update - having seen how quiet this forum is, I logged a call with Google tech support through the Apps admin panel. Here is there answer
1. The migration process will initially start to migrate data.
2. When the session is stopped, it stops the migration process.
3. When the migration is re-started the process will start where it did the first time, from the beginning, ignoring previous migration from Mac Mail at this stage.
4. Any emails that it has migrated, will not be migrated again because the app recognises the mail header at the source already exists at the destination, i.e. the email is already in Gmail inbox. hence no duplicates
5. However the process goes through each mail again in Mac mail, only confirming as it scans each mail whether it exists in Gmail or not.
On that basis, we'll just continue with the nightly partial uploads and ignore the fact that the upload counter goes back to zero each time.