So first instance tries to bind - fails, fails creating one as well. But other instances do not try to bind ?
Yes because they see the working mutex of the first instance and so try to connect to the TCP port instead of opening a new one. I added one more debug message for exact this case in https://github.com/geany/geany/pull/2111/commits/ec10be0ddf6bc1a4f7c144de489.... The real problem remains in the failed bind of the first instance.
Is 127.0.0.1:49876: 10013 changeable anywhere? Or is hard-coded
It's hard-coded since it usually doesn't cause any problems. Even if, changing the port number probably won't solve your problem.
Other lead is cygwin installation, maybe it has done some havoc. Are there any complains using stand-alone geany and cygwin?
Not that I know of.