Yes. I suppose there is a way to add it into the theme controller or something like $c in full.php and read it back in header.php, but I'm not yet familiar with how these internals work. Basically it all results from using C5's include (the ->inc function) and not PHP's include. This causes to vars in the page type to be invisible in the included element. I believe the global is the a smaller "bad" than maintaining a duplicate almost identical code.

Ultimately it is your call. You can keep fullheader.php with its body id (which I'm not sure actually makes a real difference in the CSS).