The issue is actually with the document permissions, in this case. There are two workarounds:
1) Give public users read access to all documents you want the macro displayed on
2) Add the following key to your web.config file:
<add key="CMSCheckPermissionsForDocumentCollection" value="false"/>
With either option, the macro seems to work fine for public users on the live site.