Almost any programmer can be super-productive under such ideal conditions as "no chance of interruption". The challenging thing is to be productive under less optimal conditions. For example, how would you get programming done if you actually get to the point of having paying customers, and you can't just tell them "leave me alone, I'm in the zone, call me back in 8 hours or maybe tomorrow, and we can talk about that bug that's keeping you from logging on"?
Yes, the superstars are productive despite interruptions.
Most programmers, however, aren't superstars, or are vastly more productive superstars when they can work without interruption than even those who can tolerate a highly non-optimal environment.
Some level of task-switching is necessary, but as the other respondent said: this is what a PM or support triage role is for -- figuring out how to schedule stuff for your limited attention without breaking the conditions that contribute to your productivity.
The research behind uninterrupted periods of work is hardly new or novel: The Mythical Man Month, The Psychology of Computer Programming, Peopleware, Flow, and other books span a few decades.
You get a support person to triage said items and to put them in a bug tracker so that you get to see it show up when you go and look at the bugs that need fixing.