If that were a real situation, I wouldn't have, he over-engineered the shit out of it and while cool, I prefer devs who can solve simple problems simply; they get more work done for the price.
This is not over-engineering. Defining a couple of functions to solve it would be over-engineering, like offloading Fizz to it's own function, Buzz to another one etc. Anything (deliberately) more is just comedy.
Yeah, I suppose the guy wouldn't feel good in the company anyway. Personally, I wouldn't either. Sense of humour is an essential part of good dev environment, IMO.
It's not a bad interview question, if you think it is, you perhaps haven't had enough experience with candidates applying to programming jobs who talk a good talk but can't program to save their lives.
Well, technically, as a programmer and not enterpreneur you shouldn't be expected to have "experience with candidates applying to programming jobs who talk a good talk but can't program to save their lives".