Since persistent variables are, you know, persistent and thus don't disappear on their own, we should be able to delete them manually. Otherwise they will hang around forever, possibly without the user even being aware.
There should also either be a button in BTT to delete all existing persistent variables (with proper warning etc.), or alternatively at least a way to get a list of all existing persistent variables (+ above method of deleting them) so one can tidy up properly.
Since variable retrieval is with the same command for both persistent and non-persistent variables, it should not be possible to save a non-persistent variable under the same name as an already-existing persistent variable. This should throw an error. Or, alternatively, persistent variables should get their own retrieval command
get_persistent_number_variable, but that could still result in confusion (since two different variables with the same name would still be possible).
(I was constantly seeing weird behavior from an AppleScript that used
get_number_variable with a variable name that—I finally realized—had once been used for a persistent variable, so sometimes instead of getting what I saved with
set_number_variable I was getting a value saved with
set_persistent_number_variable in some ancient time.)