v7.6 and later
In the data model, there is a property on the Attachment field that you need to set to Public.
<sq:Grid runat="server" ID="grdFiles" CellSpacing="0" GridLines="None" DataSourceID="dsFiles">
<MasterTableView CommandItemDisplay="None" DataSourceID="dsFiles" AutoGenerateColumns="False">
<RowIndicatorColumn Visible="True"></RowIndicatorColumn>
<ExpandCollapseColumn Visible="True"></ExpandCollapseColumn>
<Columns>
<sq:GridHyperLinkColumn DataNavigateUrlFields="fldIActId,FileRefValue" DataNavigateUrlFormatString="/_layouts/ViewFile.aspx?activityInstanceId={0}&fileid={1}"
DataTextField="FileRefText"
DataTextFormatString="{0}"
Text="Attachment"
AllowSorting="False"
HeaderText="Attachment"
UniqueName="Attachment">
</sq:GridHyperLinkColumn>
</Columns>
</MasterTableView>
</sq:Grid>