The second part is only relevant for some rare conditions where a very aggressive caching is done by external caches.
So I think the comment should be changed because it's a good behavior to indicate that the content of a page is not "correct":

503 Service Unavailable
The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay.

The page still works! Try it ...
Again, it's not really about caching prevention but pointing out that the content is not the "real" one.
I still think you should apply the initial patch (with a modified comment). I do the same in my ThemeKey module.

But again, debugging a site by adding debug output to the content is "maintenance of the server". The correct HTTP response code in that case is "503 Service unavailable". Using that response code you "let the client know that it can retry the request later". (Quotes from the spec)
4xx and 5xx status codes don't prevent browsers from rendering a page!

Thanks all for the information, was good to know. May be it is a really good idea to return a 503 if debug mode is enabled. But this is still confusing me. I need a little bit more opinions before commit this in module.