OK, seems the problem was that MailChimp had opted them out on Sugar. All synching fine now. And I guess I can just add another Q2L "remove" query to keep the Target List up to date in Sugar. Thanks for your help!
Actually, it's an "append". However the contacts were originally added manually into MailChimp and then synched across to Sugar.
Thought it might be possible since that's the case that the SQL overwrote the entries (effectively removing and then appending) so I deleted all of the unsubscribed entries from the Mailchimp list to see if they would be re-added. That didn't work so I tried adding a fresh test contact that would append to the target list in Sugar using Q2L. This worked fine which looks good for the future, but isn't helping get the original contacts back on the Mailchimp list - which is the immediate problem.