First, it's extremely important to have a very clear and specific due diligence clause in the purchase agreement, with an unambiguous date and time after which the buyer no longer has the option of canceling the contract. And, there should be a clear definition of the penalty, such as forfeiture of the deposit, if the buyer attempts to terminate the contract after the due diligence period has expired.
Then, as Mark has pointed out, any extension must be clearly defined, in writing, signed by both parties. The process I use is to have the buyer formally terminate the contract during due diligence, with a stipulation that if the seller will extend due diligence "until a certain date" or "for _ days", then the buyer will rescind the termination. In this way, there is no ambiguity.
How long should you wait? Only so long as is necessary for the buyer to make reasonable inquiry into the representations made by the seller. If the seller does agree to extensions, they should be short and certain. Otherwise, the business is off the market and other sales opportunities are lost.
Remember, "time kills deals." You, the seller, must do your part and have everything that you could reasonably anticipate would be required by the buyer prepared long in advance of getting an offer, so that there should be no reason for due diligence to take more than a week or two at most.