Don't take this badly, but...
I think this type of thing happens at lots of companies, but it is a bit unfair to blame the users. I don't want to be too mean here, but it sure seems like you should have asked a lot more questions, especially of the "Why?" sort. At least the way you recounted the story, I saw several places where I wouldn't have settled for the answer you got.
This looks like another example where the programmer didn't do the legwork to understand the problem before coding away. I understand there is normally a lot of pressure to get to work, and you normally get bad requirements, but getting clear requirements is YOUR responsibility not theirs. They are trying to do their job and are not technology professionals, so they can only see the problem through a very limited view of the world. You were the one that understood the consequences of the utility you were building and apparently didn't communicate them clearly.
Think about it outside the world of programming and put yourself in the shoes of the person with a need and little technical knowledge.
If you went to the doctor with an earache and insisted he give you antibiotic drops for your ear. The Doctor suspects a tumor, but has trouble explaining it to you without medical jargon so that you can understand. He gets frustrated and just gives you the ear drops because you are too stupid to "get it". Later when the tumor kills you, who's fault is it?