that was some of the nicest work I ever did -- it's interesting how destructive processes can also produce great work. (This is not to say that the results are worth the destruction.)
Take the feedback you receive and use it to improve the product but unless something is really trivial it is better to sell what you have than to make some promise you can not keep -- another general lesson I would take away is, "be very wary when the salesperson is allowed to write the spec". I bet this is true across all business domains.
Fred never did hire a replacement, and hoped that I would stay on because I would not let my buddies down. -- I think this dynamic is built into the business models of some companies, especially consultancies. You feel guilty if you go home to sleep while your friends are coding 'til their eyes bleed, even when the overwork is brought about by extrinsic factors (see above).