Good write up. One of the things I have learnt from nearly 20 years running a small software business, is to choose your market and customers carefully. My main product is for event planners and they are generally pleasant people to deal with (if not the most technical!). But I know other people that sell software products in other markets where people are (on average) less pleasant (e.g. real estate).
Also I have found that the cheapest products get the worst customers.
Also I have found that the cheapest products get the worst customers.