There's only one person you can charge, That would be the person that you are in contract with to do the work all else will never hold up in court because you have no contractural agreement with the others.
That is the bottom line, if the contract was with the homeowner, then they get the bill, with a brief statement of the problems found, they are responsible for recovery of the money, from the company at fault.
By not biling them, they will for sure think you must be part of the problem, after all you din't bill for your time, you must of done something wrong.
Good will is not a business asset, it is a business liability.
I am one of those hardworking people myself, and I can't recall any company giving me a break for being a hardworking guy, heck sears came to look at my washer, spent 5 minutes here told me you need a new washer, billed my credit card for $90 even before they came to the house, I should of told them but you don't understand I am a hardworking guy, and don't have a lot of money.
I don't think a lot of guys on here are just concerned about the money, but I do think they are concerned about the survival of their business, and providing for their family.
You may try charging a $90 dispatch charge, with a brief statement of the problems found, rather then billing for the 3 hours. This will also give the customer a statement to use for recovery of their expense.