That reminds me of a project I worked on earlier this year. It was a relatively simple web application. Just some forms and a bit of logic to display/save data. But the users were completely amazed at what I could do, and how fast I could do it. To me, it was all simple things. Like throwing some more data on the page, or massaging a SQL query, or having a "printable" report format. But I guess they were used to other people's code, which apparently was not very flexible or easy to change.
I tried to educate them as we went along as to what was possible and what was not. They learned quite fast, especially considering they were very non-technical folks. So really it's up to us, the programmers and technical folks, to set the expectations of our users. All we have to do is bang the limits/possibilities into their heads and we will all be so much happier. Of course, that's the tricky part.