This depends on your contract. If your contract has no stipulations for a case like this, yes, the Client can do this. That's why some contracts have clauses like: At least 10hours per week will be billed, irregardlesregardless of the amount of work actually done.
But a lot of contracts don't have a clause like this, and if your work isn't actually used, you earn 0. Factor in the risk when quoting your hourly rate.
Also: As a freelancer, you were never employed. Don't think you are! Always factor in risks as freelancer.
And agencies want to make money, and often the situation is that the client is more valuable then the freelancer. So contracts crafted by them will be widespread and maybe standard, but not nessecarily in your best interest.