I am using DemandTools for the same function. The only solution I have found was for lead-to-contact deduping. If you log a task and then use the subject as a filter in your Marketo MQL report (i.e. add a filter for "not activity was logged", subject = [whatever you put in DemandTools task subject]) This will keep the leads that push back to Marketo from MQL-ing at the time of deduplication. Any future action would push them to MQL since their score would still be over the threshold.
Agreed that this is super frustrating - both to me and our sales team! Would be great to have Marketo only merge behavior score, or give us options to customize based on needs.
I'm seeing this happen in our instance as well. However, it's happening with new leads that are created; Marketo is automatically merging their anonymous visitor tracking activity it collected via Munchkin. In this case, it appears I have no control over the lead scores being merged. In this case, I think I actually want the Person Score to increase, but the Behavior Score should increase as well, since it's primarily a score created because of web page visits. Is there a way we could trigger a workflow to increase the Behavior Score by the same amount when this merge occurs? If not, our Behavior + Demographic scores won't always = our Person Score. I don't think this is critical but it's a little messy.