There have been references here to programming tests that are used to hire programmers. Even Joel has written about such tests. While that makes a lot of sense for new or intermediate developers, is it appropriate when looking to hire an experienced developer? Is this expected by such developers or would this process chase them away?
In my opinion you should test each and every developer.
If you don't do, how do you know that he is an experienced developer? Do you judge based on the resume and his answers to somewhat unrelated questions?
The company I used to work for did not test some of the developers. They eventually ended up firing most of them four to five months into the job. That was when they realised, that at least parts of the resume was made up or their 'experience' was more likely a 'I watched the real developers do the things and fetched the coffee' type.
As for your concerns of annoying the prospective employee, I personally would not mind such a test, as long as it goes beyond the trivial or repeating buzzwords ("What technologies are you familiar with?" and the expected answer being something like "XML, C#, SOAP, REST, BDSM...").
In fact, I went to an interview for an internship at the development department of a very famous automobile manufacturer. The question that was most programming-related was "Which Design Patterns do you know? Please only state names, don't explain any." I turned down the offer after that interview.
So I think that developers will see those tests as fun - don't worry about it and do it.
As a senior developer I get anxious if a prospective employer doesn't test me, unless they know me or have personal recommendations. I've seen what happens when people talk themselves into positions, and I wouldn't want to work in such an environment. Since I believe I'm competent I feel secure in these tests.
I would also recommend against third-party testing. Their tests tend to be inane. Back-and-forth with a competent interviewer, including light coding, leaves me with a good feeling.
I believe that It is essential to test developers first before hiring. This will help you prevent hiring a person who does not know the job, which will also save you time and money when hiring. The best way to test developers is to start from the most basic tasks when screening so that It can give you an idea if the applicants are capable to do the more advance work.