Why the manual click to refresh and see current data? What are the limitations that make this necessary? Can this be changed (or made optional - but why would you not want to?) so whenever a change takes place the refresh function happens automatically and the data you see is current. Having to manually click refresh after every change can cause confusion and is an unnecessary step.
I may be a bit late to the party, but I've written a small add-on that automatically refreshes each desktop list (with auto refresh ticked) every 5 minutes.
Free download here
For the technically minded, it uses a messaging extension to start a timer that issues the required MessageService Notify's (eg. SOPLedgerMessageSource.SOPListRefresh)