Can't see any logic why it would "have" to - sounds like someone built this into the code somewhere.... one of those x-cart surprises we call bugs (QT often calls a function

)
Even if COD was to disappear with "free shipping" ticked - it should happen all the time (not just with one product in the cart only) - shouldn't be quantity linked as I see it (can not see the logic in a rule based on quantity).
Cheers - Asiaplay
PS: should be a easy fix for a decent developer anyway... so if they can't fix it for you ASAP then PM me and I will intro someone can do it cheaply and quickly (know how annoying these little things can be!)