In a normal sync (Marketo has read/write/delete permissions to lead object) Marketo would do the following:
- If the lead is converted in Salesforce, Marketo's "SFDC Type" gets changed from Lead to Contact, and Marketo continues to access the new Contact (no dupe created)
- If a lead and a contact are merged in Salesforce, Marketo's two records are merged, and take on the properties of the master record created (no duplicate created)
I think you need to look at your Salesforce sync and determine if there is a permissions problem with the Marketo sync user and Marketo is losing contact with records when they re converted or merged - as in - the new lead when converted is given a contact owner or record type that Marketo can no longer access, or when leads are merged into Contacts they are no longer visible to the Marketo sync user. In both of those circumstances Marketo may not recognise the incoming lead from Salesforce, thus creating a duplicate.