I general agree that timed coding is not good. I had a similar experience. I don't know that take-home stuff is good either. It can allow some individuals to cheat.
I would say take homes are good, but not by themselves. Instead of spending an hour in front of the applicant trying to solve a problem, let them take the challenge home, and spend 15 minutes afterwards letting them explain their solutions. You'll fish out cheaters by questioning their work.