You could try something like this (untested):
Include a dummy eval in all your panel searches
| eval _dummy=$dummy$
| fields - _dummy
Then, when your refresh button is pressed, assign a new value to the token, perhaps something like this:
<eval token="dummy">time()</eval>
The idea being that the searches will rerun when there is a change.
Hello,
There are several tokens on which already panels are dependent and i believe adding token again for dummy at panel level will again cause issues when other tokes are set.
If you have sample code with Panels with button etc..Will be of great help