A client asks for an 8-character vanity address, knowing the cost is too high. After one (or more) 7-character partial matches have been found, the client cancels their request. Now what?
Maybe the client wanted a 7-character address in the first place. Depending what information is public, the client may have their 7-character address for free, and neither you nor the miners get anything.
Maybe the client wanted a 7-character address in the first place. Even if partial matches are secret, a miner who found a 7-character partial match may negotiate with the original client for the 7-character match. Neither you nor the other miners get anything.
I would suggest that a refund should deduct *something* related to the value of work done so far. The deduction to be paid to the miners for work already performed.
it's highly unlikely customers who pay for a vanity address would also be interested doing something so sophisticated for a relatively small gain