The problem is that OS X seems to do two different things when launching applications - when it's a native application, it won't launch a new instance of it from the bundle and there must be something within the application which makes new instances. But when it starts a script and probably also some command-line application too, it launches it every time. And we need the script because all the simulated GTK environment has to be set up there.
Yeah, thats why I suggested above that there needs to be a native app that actually starts and communicates with real Geany.