I do not see Dish losing at all on this, no matter how many times a user upgrades. If I remember correctly Dish pays on the average number of subs for a month to a provider. So, Dish in reality only pays a prorated amount anyways if you were to subscribe one day per month, you would only count as 1/30 of a subscriber, so if 30 subs do 1 day each, Dish in effect just pays for 1 more sub in fees.
The key of course is how much Dish charges for an "upgrade". They could ruin it all together if they for example charge $5 each time. Then it would be at most a 1-2 times per month upgrade. They need to make it in the cheap, but borderline need to upgrade range, i.e. $1-$3 per day.
Yes; this is why I called it "too good to be true" above. Also, now that you detailed the possibilities, it's even more obvious that it will invite lawsuits. Serves the channel providers right if they failed to sign a contract prohibiting this.