Can you please give some information about your application. If it is web application then it would be better to store such information which will be used by multipal user and multipal time into application cashe object. Such objects will be created at the time of application starts and this object can be shared between different application sessions.
I'm rather fuzzy on the exact details, but PowerBuilder 7.0 had a notorioius problem with greedy locks.
The solution is to create a new transaction object (separate from SQLCA), and make that object "read only" from the application's perspective. I think that there is an attribute of the transaction object that does this, but I think that I also remember having to force it by dynamically executing:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
If this isn't enough to help, let me know and I'll see if I can dig up some example code to help.