Ok here is the solution, it works fine.
What was happening was the login part was gone but the actual user panel was working, so when I was already logged in I could see the panel.
It seems the panel code will not work in the snippet, but it was already working anyway. So, I left it there and only changed the second clause, which wasn't working. The snippet returns nothing if the user is logged in, and returns the login box when not.
Wrapper.tpl:
Cut out everything within these brackets (line 74):
[[+discuss.user.id:is=``:then=`
`]]
And place the inside portion into the snippet, and then call the snippet in wrapper.tpl in place of the above
The snippet's got my slightly customized code, you should use precisely what you have in your wrapper.tpl
Snippet:
<?php
/* LoginOrNothing snippet */
if ($modx->user->hasSessionContext('web')) {
return '';
} else {
return '<div class="masthead-login m-login_box h-group" style="margin-top:5px; margin-left:25%;">
<div class="masthead-title">Login below or <a href="[[~[[++discuss.register_resource_id]]]]">create an account!</a></div>
<form class="m-login_block" method="post" action="[[~[[++discuss.login_resource_id]]]]">
<input type="hidden" name="service" value="login" />
<input type="hidden" name="discussPlace" value="[[+discuss.place]]" />
<div class="f9-f12">
<p style="white-space: nowrap;">
<input type="text" name="username" id="login-username">
<label class="loginUsernameLabel">Username</label><label class="loginPasswordLabel">/ Password</label>
<br />
<input type="password" name="password" id="login-password">
</p>
<p style="white-space: nowrap;"><input class="alt-1-cta" type="submit" value="Login"> <a href="[[~11]]">Reset Password</a></p>
</div>';
}