I think it's OK to charge a token fee (like $500) depending on your target audience and industry. It allows you to filter out clients who aren't serious buyers, and are just "shopping around".
The trick to charging the fee however is that you need to deliver some value. For example, we do business automation consulting, and the value we deliver when speccing out a project is a business process diagram that neatly outlines all the inputs, transformations and outputs of a given process. It tends to be an eye-opener for our clients and helps us demonstrate our worth up-front. From then on, the actual consulting work begins, followed by the engineering work (software implementation/customization).