Moving the login check to tpl_header.php means more filename efficiency. Class names can be switched based only on the page for most elements, and an added class name can be used to further control the #navMain bg.

Considering that there are multiple pages as well as the one login element to account for, I think it will be most efficient to do all of the image switching with stylesheets.

The advantage of Smart BG is that all of the changes can be handled on one stylesheet, making coordination simpler, and individual ez-page backgrounds can be handled without other mods; the advantage of per-page stylesheets is that backgrounds relevant to a page are separated on their own stylesheet.
The more different style elements will change per page, the more reasonable it is to go with per-page stylesheets. You have three elements that will change backgrounds (and one of them has two sub-variants), so it is a tossup. Will you be wanting any different backgrounds on different ez-pages? How many pages will you ultimately be switching for?