One thing that I should note. If you have ShowNotRunningOnly=True in the .ini file settings, which is the default, if a program of the same name as the one you closed is running, such as another copy of Firefox or chrome, the button will never show in the list. This is because the ProcessExists() function just checks for the exe name as in firefox.exe.
If you run multiple copies of ff or any other program and want them to show on the Button Panel try quitting ReRun and editing the .ini file. Set ShowNotRunningOnly=False or =0. Then they should be added to the list as soon as they become the active window.
Another note. The program should run with the Button Panel closed unless you are using it to launch. While the Button Panel is showing the active window detection loop is suspended. That's one reason why it closes as soon as a Button is Pressed.
Please let me know if you notice a bug.