Yes on both counts. HeaderClass() should either be inside class Page or class Page_Controller.
If it's inside class Page, then you will be able to access it inside a block such as <% control Menu(1) %> - getting the HeaderClass for each of the menu items. However, I'm sure not that you would ever want to do this.
If you put it inside class Page_Controller, then you will only be able to access it at the top level. For methods that don't make any sense to be used inside a <% control %> block, we usually put them on the controller.
Take the parenthesis off the <% control HeaderClass() %> inside the template, that isn't required and may be breaking. Also,Ã‚Â you should be just returning $HeaderClass, as it's a single piece of text. The <% control HeaderClass %> block is used for a set of data returned, as opposed to a single string.