Stupid client tricks == $$. Um, $$ is money, not process ID
We have a client that I will call Acme. Acme called us a few months ago because they were in breach of contract to one of their clients. It seems that they received a constant feed of financial data and were supposed to display it on their Web sites, but they only had static Web pages. I was asked how fast I could get this done. It took me a couple of days with the caveat that I needed to go back in and add more robust data validation.
Fast forward several months. Acme vetoed our proposal to add the data validation. Their data is computer generated, so it can't have any errors. Naturally, they call us every couple of weeks screaming at us that my programs are broken. As it turns out, my programs never broke, they just kept sending bad data to my programs.
We got a call this morning informing us that their data was out of date for two weeks, but no one noticed (probably because they don't have any more customers). A new guy actually asked us why we weren't validating the data. Sigh.
We're sending them an email showing our original refused estimate and the amount we have billed them in the process of finding their mistakes. It seems that they have spent twice as much money and lost the trust of their customers because they were a little too tight with their money (here's a hint: they churn through millions of dollars a day and the cost to add the data validation was about the same as one of my paychecks).