Gate checking is only supposed to be offered if they know plane needs it. Just because some GA do it regardless, doesn't mean it's correct. In fact if you ask to check at gate they're supposed to charge unless they be already offered. Gate checking isn't supposed to be about end running the normal checkin procedure.
You knew you wanted to check a bag. You know you get it for free. However instead of checking it at checkin, you carry it to gate. Before GA decided they need to offer, you come up and act like you're doing them a favor, and get upset when they say no. However in your mind the GA is the one who messed up! Checking it at checkin where you're supposed to would've been doing them a favor.