Another more inelegant way would be to edit the memberaction_dropdown template
Replace default code with.
Code:
<div class="popupmenu memberaction<vb:if condition="$page_class"> {vb:raw page_class}</vb:if>">
<a class="username {vb:raw memberinfo.online} popupctrl" href="{vb:link member, {vb:raw memberinfo}}" title="{vb:rawphrase {vb:raw memberinfo['onlinestatusphrase']}, {vb:raw memberinfo.username}}"><strong><vb:if condition="$memberinfo['musername']">{vb:raw memberinfo.musername}<vb:else />{vb:raw memberinfo.username}</vb:if></strong></a>
<ul class="popupbody popuphover memberaction_body">
<vb:if condition="$show['member']">
<li class="left">
<a href="{vb:link member, {vb:raw memberinfo}}" class="siteicon_profile">
{vb:rawphrase view_profile}
</a>
</li>
<li class="right">
<a href="search.php?{vb:raw session.sessionurl}do=finduser&userid={vb:raw memberinfo.userid}&contenttype=vBForum_Post&showposts=1" class="siteicon_forum" rel="nofollow">
{vb:rawphrase view_forum_posts}
</a>
</li>
<vb:if condition="$show['pmlink']">
<li class="left">
<a href="private.php?{vb:raw session.sessionurl}do=newpm&u={vb:raw memberinfo.userid}" class="siteicon_message" rel="nofollow">
{vb:rawphrase private_message}
</a>
</li>
</vb:if>
<vb:if condition="$show['viewblog']">
<li class="right">
<a href="{vb:raw $vboptions.vbblog_url}{vb:if "$vboptions['vbblog_url']", '/', ''}blog.php?{vb:raw session.sessionurl}u={vb:raw memberinfo.userid}" class="siteicon_blog" rel="nofollow">
{vb:rawphrase view_blog_entries}
</a>
</li>
</vb:if>
<vb:if condition="$show['homepage']">
<li class="left">
<a href="{vb:raw memberinfo.homepage}" class="siteicon_homepage">
{vb:rawphrase visit_homepage}
</a>
</li>
</vb:if>
<vb:if condition="$show['viewarticles']">
<li class="right">
<a href="{vb:raw memberinfo.author_list_url}" class="siteicon_article" rel="nofollow">
{vb:rawphrase view_articles}
</a>
</li>
</vb:if>
<vb:if condition="$show['addfriend']">
<li class="left">
<a href="profile.php?{vb:raw session.sessionurl}do=addlist&userlist=buddy&u={vb:raw memberinfo.userid}" class="siteicon_add">
{vb:rawphrase add_as_contact}
</a>
</li>
</vb:if>
<vb:if condition="$show['emaillink']">
<li class="right">
<a href="sendmessage.php?{vb:raw session.sessionurl}do=mailmember&u={vb:raw memberinfo.userid}" class="siteicon_email">
{vb:rawphrase send_email}
</a>
</li>
</vb:if>
{vb:raw template_hook.memberaction_dropdown_items}
</ul></vb:if>
</div>
This will have the effect of blocking the whole UL to guests, everywhere.