Thanks dcz You've given me a lot to think about. As for my modifications, I'll pass them to you first, and then you can decide if/how you want to post it here. I know how annoying it can be when people start to fork your project, on your site. IMO, a fork is not necessary as the modifications should be "light" as possible.
Hehe, yesterday I spent perhaps more time on this project that I had wished.

I took me three logical tries before I started getting somewhere.
Here's where I'm at currently. I am able to pull all the localization variables needed (i.e. L_MEMBERLIST). Additionally, there are 5 variables that I have created that emulate the dynamic variables in the phpbb template system. To keep the naming system the same, they are:
[list=]S_IS_BOT
S_DISPLAY_MEMBERSHIP
S_REGISTER_ENABLED
S_USER_LOGGED_IN
S_DISPLAY_SEARCH[/list]
I've managed to pull S_REGISTER_ENABLED (from the config) and S_USER_LOGGED_IN quite easily and correctly. The other three are tricky, as you mentioned, as they rely on functions in common.php and session.php. I'm still trying to think about the best way to the remaining three variables efficiently and simply (I'd rather not have to start an entire session).
Now, here's where we may differ in development style. As you mentioned, XSL is not very easy to make dynamic. Currently, instead of using XSL to handling the logic, I placed a preprocessing routine to determine what should be displayed. This mimics the prosilver template system (i.e. if S_IS_BOT != true and S_USER_LOGGED_IN == true, display memberlist). This probably does not belong in this part of the script, but rather a separate php file. Otherwise, styling would be rather limited (you'd have to edit the GYM style.php file instead of a template file to style). For now, I'm keeping it here, but it shouldn't be difficult to place an include to a template php file instead.
So, we're getting there. Once I can efficiently pull all five of the control variables, the logic should be sound. Again, currently, the template part of the model works as such:
gym_style.php calculates 5 control variables > 5 variables determine how to set various link template tags I've created (i.e. {MEMBERLIST}). The XSL script contains the template tags, like {MEMBERLIST}, and if gym_style.php enables the link, the tag will be replaced with the link (it's added into the $replace array), otherwise the tag is set to '' and thus is essentially erased.
Hopefully this is sound to you.
@dcz - please PM me with instructions how to send you[/list] the code if you want to see it before it's shared publicly. Thanks.