On cable, what happens, or used to happen, was you would tune to a channel, the receiver would query the cable system and basically ask, "is this channel authorized?". Doing that, they know what you're watching and for how long (when you tune to a new channel, it asks again, and knows you're done with the previous). Remember how fast channel changes were on analog systems? Everything was "on". Satellite can't do this quick enough, hence why smart cards are used. Basically, every so often, the card has a " list" of authorized channels that is updated on occasion. If you change your programming, it "hits" your card outside of the normal schedule.
Satellite stores the same basic info that the cable company does at their headend but on the receiver. It's uploaded to Dish by phone or broadband.