Usually when setting headers after such a script has been included when output buffering is turned off. Personally I never put the closing ?> in if it's at the end of the file because it's unnecessary and can cause issues if it's present, but it's personal preference more than anything else.
Ultimately you have to consider that there's a reason it's optional - things like that don't generally happen by accident. I remember Rasmus commenting on this style issue a few years back so a search of the archives should find an "official" position.
-Stuart