There are a few things that will help clear this up:
1. Yes, global values are stored in the state file.
2. The module is only loaded when you explicitly use Load Module. That loads the compiled macro (.ex) into the editor's internal state, which is persisted between sessions in the editor's state file (along with key bindings, etc). Launching the editor later doesn't load the .ex file again, it simply restores from the persisted state file.
3. Globals declared like that don't get reset each time you load the module -- they only get set either the first time you load it, or when the global variable doesn't yet have a value -- I'm not clear on specifically which it is but in practice it doesn't matter.
4. Slick-C defines FILESEP to be the directory separator for the current platform. So you could remove SLASH and just use FILESEP.
If you want to set a variable each time the editor is invoked, take a look at definit and defload in the Help.