Hi,
On the single single instance, multi window: it has it's own problems.
For example, when you stop Geany, it'll have to save in geany.conf the [positions and] desktops of all open windows, which is unportable. And of course, under Windows, multi-window is limited to a single desktop (see "SetThreadDesktop"), so multiply instances are desirable.
Whereas multiple instances do not know about each other and chaos reigns, the single instance knows about its multiple windows, and so can save multiple sets of prefs/projects etc.
Except that we don't know which set of settings has "priority" and applies to the newly open windows, so we're back to square one. NEdit had global shared options and a smaller set of per-window options, but that'll be hell to implement.