Makes sense to me. I'm not sure why they all refuse to take it. I'm talking different states, countries and types of restaurants.
Because most people aren't sitting there waiting with their credit card in hand when the waiter happens to come by with the bill. I suspect that in most cases, it's a matter of being as polite to the guest as possible and not appearing to rush them. Most people want to go over the bill and make sure everything is in order before handing over their card. For the waiter, it just makes more sense to drop the bill off, then go off to deal with other tables for a few minutes, then come back.
I can't speak to them actually refusing to take the card if you're handing it to them right at that moment, but is that really what's happening? Are you sitting there waiting, card in hand, to hand it to the waiter when he/she walks up with the bill? Or does the bill arrive, and you respond by asking the waiter to stand by the table while you dig out your card? Cause I could totally see them not wanting to do that. For a number of reasons.