Revising my post -- you can see what I originally wrote below.
But in my case, I have processes that switch between instances of Marketo (different usernames, passwords, endpoints). I'm pretty sure that my process was failing to make the switch properly. Since the two instances have slightly different custom field names (pre- and post- SalesForce implementation), this explains the failure.
Not sure why some records in a given batch would succeed however, so this explanation may not be sufficient, will revise this posting again if I continue to have issues even after making this fix.
-----
I am having the same issue using SyncMultipleLeads.
I'm performing an upsert on three custom fields, named correctly, each of which just has a boolean 1 or 0 value. The key is the emali address.
Most records in the batch succeed but some fail for no reason.
When I repeat the exact same action on the failed leads, they succeed. Some are created and some are updated, so it's not a question of the lead pre-existing.
This one has me stumped. Makes no sense to have to perform the exact same upsert twice on some leads...