A fix has been made in the Write.cpp file for the two issues listed in this ticket, found in the WritePanelBehaviorFix branch.
It seems that the default GUI panel produces some non-intuitive behavior overall. For example, in Write, the default value for MessageWindow is set to true. Now let's say I have changed that setting to false and applied it. If later, in the GUI panel, I delete the MessageWindow = false entirely and apply that change, the option will still be set to false instead of resetting to its default, true. A possible reason for this is because if a change is made in the script itself, the Gmat code makes an entirely new pointer for the command, while for changes in the default GUI panel, the Gmat code simply uses the already created pointer with whatever current settings are on the command.