I'll refine my above answer by saying if I go over to do a "free estimate"* I have limits on what I will do for free. If I have to exceed those limits, I will inform the client that I don't have enough information to give a price and any further investigation must be paid for at my hourly rate until I do have enough information to give a price. Rarely is the potential client willing to spend any money, so the "free estimate" ends there. The limits are:I see nothing wrong with charging a fee for an estimate. We sometimes do that when a customer wants a quote and it is going to take some serious work to get it done.
(1) I won't generally use tools to open anything up (although I do like to take the deadfront off panels for potential panel jobs).
(2) I won't crawl under a house or climb into the attic, but I will peer into these with a strong flashlight.
(3) I won't spend any more than about 30 minutes investigating.
*I always put this term in quotes because it's only free to the potential client. I have to pay for it which means it get added to overhead which means my paying clients end up paying for it.