Not sure I exactly understand the question. If you embed your Tableau dashboard in a link, you can add url parameters to toggle many things, including the "default toolbar" which shows the Refresh button I believe you're referring to...
You'd want something like this sample line:
However, users could still theoretically go to the report's url on your Tableau Server and get to the refresh button.
Would a better solution be to pull a datestamp at the time the data is pulled, rather than creating a "today()" function within Tableau (as you have observed, that function will always update when the view is refreshed)?
If you are pulling your data via SQL server, or from any database, you should be able to use a GETDATE() AS [UpdateDate] or something similar in your select statement. This will stamp the time the query is executed (i.e., when the data is actually refreshed, no matter how many times the view of the data in Tableau is refreshed).
Sorry for the late reply - but I've discovered a few things:
1) Your suggestions have been helpful, and I considered removing the toolbar, but unfortunately it removed the entire toolbar, and not simply single icons.
2) (According to a tableau Guru) The end user is unable to update Tableau Extracts with the 'refresh' button, which is what I have been using.
3)The today() function will thus work for my purposes, however, the "GETDATE()/[UpdateDate]" approach would work just as well. If I have been misinformed on the end user's ability to refresh, then I will most certainly use that approach.
Thanks so much for your help!