That aside, one must have a way to measure the abilities of a candidate -- and asking the same set of questions to many people allows you to compare the answers as apples to apples.
I generally don't restrict my people from asking any particular question, but I will ask them to consider what a failed answer really means for the specific job (questions are generally adjusted then).
As an aside, some questions of mine that aren't specifically about coding:
* do you code outside of work (a love of coding translates to good coders)
* send me a link to some code you've written that you are proud of (let see what you got)
* tell me about a problem you had where your solution wasn't correct (how have you dealt with failure).