Cool. Thank you for addressing this so quickly.
So, I know very little about caching: what I’m about to say could be completely wrong!
I get the impression that adding a GET parameter results (in many cases) in the page never being cached.
So if a visitor arrives at my site and view 20 pages, my server has to deliver 20 copies of the same file. The visitor has to wait for the file to download. All-in-all, their experience is degraded.
If, however, the document name (link) is changed whenever the WordPress Admin updates the file, that file is cached. So my visitor who views 20 pages only makes one request to my server. All subsequent requests are cached. (There may need to be something about adding a htaccess file/php headers in the Uploads directory to help enforce caching there.)
So – if I am right – the best option might be to remove the ?GET param and just change the file name each time the Admin hits save.
Please tell me if I’m talking rubbish!