As always, the answer is "it depends". In our case, we wouldn't charge for the initial high level meetings or the initial proposal. But the proposal would only contain ball-part estimates of cost. We wouldn't know the exact cost until we did detailed analysis, which is always chargeable.
So after receiving ball-park estimates, the client could choose to proceed on a time and material basis, or, if they wanted an exact cost, pay for analysis meetings and a detailed design document. Having written, and been paid for, a design document, the price can be fixed - so if it ends up costing more because we've made a mistake in the design or underestimated the time required, then that would be on us.
This generally works fine other than clients often fail to appreciate the difference between "ballpark costs" and "quote". So if we estimate it will cost between $10k and $30k, in their head the quote is fixed at $10k and they get upset if it ends up costing more. Clients also fail to appreciate how much time it actually takes to write a decent design document.