I'm not sure exactly what you are saying, but I think I vaguely get it.
Anyway, the only other tricks up my sleeve are to add more module positions (I can dig up the hack if you can't find it) and to include the modules directly.
PHP Code:
if (!$my->id) {
include ('modules/mod_unregistered');
} else {
include ('modules/mod_registered');
} ?>
Or something similar (I can't recall if that is the EXACT right syntax.
From what I understand, 5.0 will deal with all of this in a very different way, since the template file will have no php in it at all, only xhtml and xml!
-Tony