Nach langem Herumprobieren scheint es mir tatsächlich die eleganteste Möglichkeit zu sein, eine eigene Locking-Tabelle einzuführen wie bereits weiter oben beschrieben. Ein Select mit der "WITH LOCK"-Option tut zwar wie erwartet, führt aber zu dem unschönen Nebeneffekt, dass der Start einer 2. Instanz so lange warten muss, bis die Sperre aufgehoben wurde, da ich im OnCreate die vorhandenen DS aufliste. Das Ganze ist auch hier beschrieben:
http://www.firebirdfaq.org/faq182/.
Danke für die zahlreichen Antworten und Denkanstöße.