I'm stuck on a particularly irritating show-stopping bug (microchip's ADC functionality just giving 0 no matter what voltage is applied) and haven't been able to find a solution in days. I feel guilty continuing to charge for the many, many hours of investigation without producing anything....it's just making me feel incompetent and thieving.
Has this ever happened to you, and if so how did you handle it? Do you keep charging, or work for free, or just tell them "sorry, you have to hire someone else to complete this, I just don't know why this is happening" ?
But you have to put your business hat on. Communicate with the client from a business level - you've hit a snag and it's taking slightly longer than expected. The client will then ask: "How long will it take?" Because you can't figure it out, you have no idea. But the client wants a timeframe answer. I give the client usually a range of time like "give a day or two to figure it out" or "I'll let you know later on today".
Do not tell the client to go hire someone else if you value your relationship with the client. Find that "someone else" and pay them to figure it out if you can. Do not dump the "you go find another solution" on the client.