I respect that some want to let the shop off the hook. Electrical systems are complicated or you can't always know in advance what it will take to complete the fix, etc.
nfisheremti is the only one that can really say whether it was an honest mistake or carelessness.
I'm personally not willing to let a mechanic off the hook because it requires them to learn about and understand electrical systems. I'm also not willing to let the mechanic off the hook because some problems are complex and therefore estimates are often provisional.
If a mechanic or shop doesn't understand the electrical system, he or she shouldn't be doing the repairs.
Likewise, if a mechanic can't tell his customer that he's not sure, that the $300 estimate may be considerable more depending on what he finds, and that the $300 is non-refundable because the part cannot be return, he shouldn't be in business.
The solution is really easier than you think. Instead of saying, "It's the seat heater controller", say "Our initial assessment is that it's probably the seat heater controller. This would cost $300. If it's not the controller, the cost could be considerably more. It's important to know that if we replace the controller, this money is not refundable. We will let you know in such situation how much additional you can expect."
You then have a conversation with customer. They have a better opportunity to understand and proceed or not proceed with more accurate information. nfisheremti may then ask, "What else could be wrong? How much would this cost?" With this information he's given the opportunity to make an educated choice, not a choice based on misguided confidence.
If the shop does this, we could avoid this entire issue. And the shop would have repeat business and good reviews.
This is the reason mechanics often have the reputation they have. They don't appreciate that customer service is essential to successful business.