I worked at a company that had "hack weeks" - most people loved them, and they produced good prototypes. But personally, I just
hated hack weeks. But then again, I hated trying to work in that office at all, and trying to work on something "fun" there just felt worse than trying to do my regular job.
I think, though, if I was running a company, I wouldn't have hack weeks or 20% time - I'd try, for as long as possible, to give people extreme latitude to work on whatever they think might be useful/fun/interesting for the company - more like the Valve model, I guess.