Hiring 'bad' people keeps many a programmer in a job. I have worked with a few completely incompetant people and the management did't have a clue until they left leaving myself and others with reams of code to rewrite. Actually I knew a programmer that never wrote any code and just documented and tested other peoples.
With the interweb nowadays you can easily deceive your employers assesment of your abilities. When asked to write a complete perl based backup program my colleague downloaded one installed it and claimed he'd written it from scratch in a day.
Your consulant idea is a good one maybe the consultant could put together a general pop quiz for applicants to complete to prove their competance. I beleive people lie about 50% of the time in interviews so some hard evidance is always required. As has been said by Zaxo savvy non-technical people can usually spot a lier.