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".
No one said programmers were expected to; however, not having that experience makes judgement of what is or isn't a bad question baseless. FizzBuzz and all such trivial code tests are fantastic interview questions because most applications can't program, that is exactly the point and purpose of FizzBuzz, weeding out liars of which there are many due to high salaries in comparison to other fields.