that is really rough, though. it makes it difficult for people to jump out of their salary bracket if they basically got the shaft with their previous employment. especially in a tough economy.
one of the (many possible) reasons why people leave their former employment is because they feel underpaid, and to use that underpayment as a measurement on what to offer them next seems at least somewhat unfair.
and thus, the employer loses out on talent unless they're providing something special on their own. its more lose-lose.
of course, unless you're not looking for talent, and you're looking for someone who would be okay with taking a job under market.
Nobody is forcing you to tell the truth - after all, they have no way of finding out anyway.
I've been working as a programmer for 9 years now and had 5 jobs during that time - out of all interviews I've went to throughout the years only one interviewer ever (fairly casually) asked me what my previous salary was.
Because I felt like I was under-payed in my previous job I told him I earned 2k more a year than I actually did and asked for a salary that was 7k a year more than that sum.
He eventually gave me a slightly lower offer for 5k more than my supposed previous salary (and 7k higher than my real previous salary) but I ended up going for another company altogether.
i know a guy whose first job as a high school intern paid more than most people's career salaries do. and once he got out of that job, he could never get another job at any place that asked for previous pay rates. he earned too much previously, and not even retail work at the local mall would hire him. he kept getting told that his previous salary was too high and they couldn't afford to hire him. he eventually stopped reporting that job experience altogether.