let it go
I have to agree with those that say 'let it go and move on'. Don't make a big deal over the $100. I get cancellations all the time for various reasons. If all I'm out is a little bit of my time, I let it go. Yeah, it sucks but, that's just how service business goes. I've cancelled on plumbers, electricians, etc before and I'd be darned if I would pay them a cancellation fee (assuming they did not pre-order special materials for the job and were just using stock inventory).
Now, when I did landscaping, that was a different story. Once the contract was signed, if there were materials involved, I would get a downpayment up front. If someone cancelled, they forfeited the downpayment. I couldn't afford to just sit on the materials I special-ordered for their job.
In the case of tree work, if I had to pre-pay the crane operator or something like that, I would then charge the customer up-front at the time of signing. If they didn't pay, the job wouldn't get scheduled. If they paid and then cancelled, I keep the payment. If materials are not involved and you had no previous disclosure on the cancellation fee, then you just need to suck it up and move on. If you had it disclosed at the time of signing that they would get charged for cancelling, then you have the right to bill them for it - but, it should have been disclosed on whatever paper they signed.