I originally wasn't really very against these kinds of questions, until someone pointed out that they're basically asking how much a different company values different work you're doing for different ends, to help them determine how desperate you are for doing their totally unrelated work. I got much more resistant after that.
Imbalance of power fuelled by a recession = more inappropriate/rude/immoral behaviour to take advantage of the situation.
They know they can say "tell us your previous salary, or else". What's worse is that they will ask your references to confirm, and they'll likely happily tell them. If you lied, it won't go down well.
As if there wasn't enough crap to fight against in your career.. ugh.
EDIT: I forgot about employment contracts that prohibit you from disclosing your previous salary. Yes, they exist.
Add it to the list of things in business that seem to me to be inappropriate/rude/immoral, I suppose.