If I set a project timer script to execute every 10 seconds that just gives me the property setting value, it behaves almost like the property setting is instantiated by the PropertyEditor.
Steps to recreate:
Set the project property to “A” and apply/publish changes
I think I found the culprit in another comment of yours!
The event that identified the issue was a Gateway Timer Script in a project. If what you are saying here is true, then I wonder if that's why I don't actually get the project properties, or even the project name in the getRpcHandler method until AFTER some client is opened that instantiates the rpc handler.
The function executes, calls the rpc handler with no project name, can't get the properties because the name is blank, returns a blank property set, and then can't get the connection that its defined to get!
Does this sound remotely close to what may be happening? If so then I may just need to make a default database per gateway, and not per project.