Yes, it's not a bug but intentionally written. See {root}/XMLPackages/page.orderconfirmation.xml.config.
Code:
<xsl:if test="aspdnsf:AppConfigBool('ForceSignoutOnOrderCompletion') = 'false' and /root/System/CustomerIsRegistered='true'">
<br /><br /><br />
<xsl:value-of select="aspdnsf:StringResource('orderconfirmation.aspx.16',$LocaleSetting)" disable-output-escaping="yes"/>
<img src="images/spacer.gif" width="5" height="1"/>
<a target="_blank" href="{$ReceiptURL}">
<xsl:value-of select="aspdnsf:StringResource('orderconfirmation.aspx.17',$LocaleSetting)" disable-output-escaping="yes"/>
</a>
</xsl:if>
The receipt should only be tied and viewed by a customer who has an account. Anonymous customer doesn't have an account. If you will remove the IF section, you'll see that the store will throw an exception...