I took my BMW E36 M3 to my local shop for a "Check Engine" light. They read the code out, charcoal cannister diverter valve. They pull the valve, replace it, and about 10 miles later, "check engine" is back on. They take the car in, and now they find a reference that tells them that an internal valve in the charcoal cannister can cause this problem. They replace the cannister - I just got it back, time will tell if it's really fixed.
Question - since the diverter valve ($160 for replacement) wasn't the problem, and I doubt it was bad (mechanic told me it can't be tested out of the car - while the shop foreman said "oh, we tested it and it was bad"), should I be billed for it? Seems like to me that if it didn't fix the problem, and it wasn't bad, I shouldn't pay for it, right? The cannister cost me another $200 on top of the $160, proving again to me that no BMW repair, no matter what it is, costs at least a few hundred dollars.
It's a moot point, I know - the diverter valve is long gone. But I was wondering what the list wisdom is about these kind of repairs where you get charged for part after part until it finally is fixed.