I will add a wish list item for this request.
In the meantime the workaround I've been using is to check the user's preference at the start of the script with the following:
pref = Num(Word(3,Char(Get Preferences(Show summary graphs below column names)),"()"));
Within the body of the script I set the preference to 1:
Preferences(Show summary graphs below column names(1));
My script creates a window as a UI to where the user will open a table then click a button to execute another script. So I added to the window:
<< On Close(Preferences(Show summary graphs below column names(pref)))
So when the UI is closed it will return their preferences to whatever they had before they opened it.
This will cause issues if the user edits their preference with the window open but I expect this would be a rare occurrence.
Thanks for your help!