We're never accused of "bait and switch" because we stick to our price. If I bid $100 and it take 2 days, then we still only bill $100. On the other hand, if I bid $5000 and it takes 4 hours(won't happen,but), we still bill $5000.
You have to be a good estimator and look for potential problems and figure them in. Occasionally we include an "if-then" clause in the bid. If we have trouble, then you're going to pay more. But this is rare.
If you offer a flat rate you should stick with the price unless it is obvious to the customer that the job will require much more. Flat rate is a bid. You need to do a good estimate before quoting the price. For jobs that have a number of potential variables give the customer a time and material price. You may even give them a not to exceed price. Once you have given any type of top price to a customer you should stick with it. Good luck