AI OnAI Off
if(e.Page.PageTypeName == "WordTemplatePageType") { ... }
(The page templates and their code-behind files, such as page.aspx.cs, are only used to render/display the pages of one or more page types. That would be the wrong place to attach the event handler in this case.)
As for what event you want to attach to, I believe the CreatingPage event will fire AFTER the editor has filled in any values and has initiated a save of the page. Since you would like to make sure that some property fields (such as MainBody) already contains some content when the editor creates the page, I believe the LoadedDefaultPageData event could be suitable.
Hope this helps