is your kill a % of what you'd make on the project or a flat rate?
I almost always work on a day rate, if a company says they'll book me for 10 days and then part way through they say "we don't need you for the last 2 days", i'll charge them a percentage of my day rate for those 2 days. *edit - i'm flexible on this rule sometimes depending on the company/people i'm working for
I've mentioned the idea of hold's actually costing a fee to my colleagues and ofcourse we think it's a good idea, but to producers and companies, not so much. Companies really do abuse the hold system sometimes, I've had companies try and hold 6-8 months out. I just let them know politely that I don't do holds more than 3 months out.
If you've been challenged and your first hold releases to that challenge, you are essentially booked by said challenger. If the company says the project has been pushed than that's on them and they should either bring you in anyway to work on something else or pay your kill fee. I can not urge this enough, but freelancers really need to have a company sign deal memos outlining your schedule, project, fees, KILL FEES, etc. so you can cover your own ass in these situations. That said, do you really want to work for a company that books you and then says "oops the project's been pushed"? I know things like this can happen, so I usually let the same company only get away with it ONCE.
The hold system is def flawed, but at the same time, I think you'll be getting less calls to work if you outright said you don't do holds.