Couldn't agree more with everything that Gelder said. Agree 200%.
I actually haven't had people flake on me where I had to cancel a shoot. Most of the time, it's because I've worked with the actors already. I did once have one actor tell me at the last moment that he wasn't going to come because he thought that the role was too small for him. In the end, I changed my script and played that part (original part was for a white guy. another white person's brother in the script. I'm brown. The show had to go on somehow).
What I have noticed though is that if I put on my ad a payment for even $50, the quality of actors who send in their headshots go up dramatically. So I'm a believer in payment. If you want to reduce the chance of people flaking, offer payment.
The idea that people do what they do for craft and not for money is a little strange to me. They're not mutually exclusive. I could do what I do for craft AND for money. It doesn't make me less interested in craft. If I have to act in someone else's movie, AND I've already done it a hundred times, then going forward, I'm going to do it for pay. If I've never done it, I might do it for no money since I need to build a reel. But if I have a reel, then I think I'm going to be a little more discerning in how I choose projects. From the actor's perspective, he or she probably rationalizes that "if they pay, they're serious." It's probably not true in all cases, but it's probably true in many. I don't know how actors think. But that's how I would think.
Cheers