Nobody is thinking big enough, I suggest an alternative option.
Remove all the project code.
Then make "projects" to use the equivalent of `geany -c ` but selected from the GUI. That way there is no duplicate code and __all__ settings can be setup for "projects" including tweaked filetypes. I have used `geany -c` for several projects I have done where I had to configure stuff not in the "project" files and which I didn't want for my other projects. The only thing needed is the ability to change config from the GUI.
A note on the OP, who will delete the session files? I remember @kugel- being worried about that when `geany.conf` and `session.conf` were side by side, although I don't remember the context of that discussion.