I would hire that person based on the reasons I gave before. Not being able to perform to your standards in the space you allowed doesn't mean that person is a fraud or that the person couldn't do the job. You were biased by your own test. You thought you were measuring how good a programmer someone was when in reality you were testing how good your test was.