Absolutely, I clearly offer a "No Fix - No Fee" on my site, however this is described in my TOS & Clearly shown on my "rates" page as;
All I can say is that you are shooting yourself in the foot. We have only one shop around here that does that and they are the cheapest and the second worst shop in our area. I am not saying that you are a bad tech, but the point is this. Not only are you wasting your time and losing money, but you are wasting your paying customers time. Your paying customers come first period, and they need to know that the money they gave you is valuable to you or more accurately, they need to know that their business is appreciated and that they are a priority. So what are you doing working on computers that you are not getting paid for? All you are doing is appeasing their curiosity and making your turn around time even longer for those who are paying for repairs. Also, it just makes you look desperate for work, at least to people who are upper class and willing to pay for repairs.
Anyways, stop wasting time on those customers that are not willing to pay for a diagnostics, you do not want those customers, but you do WANT the paying customers to come back. If you cannot get things done in a timely manner because you are working on other peoples computers that may or may not pay you, then you are screwing your paid customers over and they may or may not come back to you if they are not satisfied with your turn around time.
Anyways, in short here are my points
Your losing money: In the last few months I have made between 1500-2000 in diagnostics alone. That's just for people who did not do the repairs. I cannot give you an exact figure because my diagnostics fees range from 50 to 75, but at the end of the year, that's could be the difference between lower class and middle class. Also, when you charge a diagnostics fee up front, it makes people more likely to do the repairs because of the initial investment. Finally, charging a diagnostics fee up front helps to keep cash flow coming in, which is extremely important if you are a small time tech or shop.
Your wasting time: Your wasting your time that you are not getting paid for as well as your customers time who is paying you good money (hopefully) to get their computer done in the timely manner.
Your wasting resources: This actually could be explained in a whole other post, so just give it some thought.
Your cheapening your services: By using the "no fix no pay" method, you are telling customers that your opinion does not really matter and that its just that, an opinion. If you do not like my opinion of what is wrong, then you can ask the next guy. You know what the difference is between a professional and a hobbiest? A professional gets paid for their time, so why aren't you?
I could keep going on with reason after reason, but I think I have made my point and yes, I realize I kinda said the same thing over and over again in different ways . . . sorry.
EDIT: The one thing I suggest is that instead of using the "No Fix, No Pay" method, charge for a diagnostics and guarantee you work and your diagnostics. This shows confidence in your abilities, adds value to your services and it really leaves the customer no reason not to pay for a diagnostics, unless they are just cheap and as you already know, we do not want cheap customers.