I still think that is the best way to interview (after a regular interview to weed out the real idiots).
I think the real thing that's suspect, is simply having to send in your code, rather than presenting your solution to a group of programmers.
Now if someone gives me a pre-interview coding test, I mentally translate it to the employer saying "I don't respect your time."
If the company asks for a coding test, I politely decline, but I offer to provide them with a code sample instead. Very rarely has that not resulted in a phone interview and I didn't have to spend hours of my time on it[0].
[0]: per company. Write once, give to many scales better than coding tests.
It took several hours. After an hour of examination of the data and research into the problem at their office I opted to make it a 'take home' test. They agreed and I worked on it the next day (hence the e-mail conversation).
Regardless, my hunch is that your instincts are right about this one.