Why is the hourly sync failing with Variable does not exist: tmpVar1?
From version 7.155, the hourly sync reads a new Status field on the Subscriber List object. If the user who runs sendItScheduleSubscriptions cannot see that field, Salesforce reports it as Variable does not exist: tmpVar1 and the job fails. In the app this is logged as CM4SF_LIST_STATUS_ACCESS.
The packaged permission set Campaign Monitor - Full Access includes this field automatically on upgrade. Assign that permission set to the Salesforce Sync User, per the Security Guide.
The next hourly run should complete normally. To run sooner, open CM Settings and click Sync Now.
Note: While we don't recommend or support it, if you use a custom or cloned permission set instead, add Read and Edit on the Status field (API name Status__c) on the Subscriber List object, then save. New packaged fields are not added to custom permission sets on upgrade, so this needs doing each time we ship a new field.

