It stopped happening entirely once we started charging a token fee. We realized that if we could convince clients to pay for a spec, even if it's a small amount, we have basically "soft-closed" them, which makes the rest of the engagement easier because money has already exchanged hands and trust has been built. Indeed, in our CRM system we move such clients to "existing customer" category, because that's what they are, and we treat them as such. (It also gives us the opportunity to name-drop them when needed, e.g. "we have done business with X").
It does occasionally give clients pause, especially if they are, like I said, just shopping around, and need convincing. But we don't care too much about such clients anyway.