Now, in hindsight, whoever implemented this checks specifically for the userslug by adding this in the template:
<!-- IF posts.user.userslug -->
Looking at it now, I believe this was done because our templating engine doesn't parse "0" correctly (interprets it as true), so we can't just check the poster's uid. (Guests have a uid of 0).
As it stands, it seems to be correctly handling the differentiation between a real guest and a user named "Guest". We also don't allow two users to share the same userslug.
We should update templates.js so that an integer uid is returned from
getPostData, and interpreted correctly by templates.js...