Normally, the slight delay of the SQL I provided will not cause a locking problem for other programs if committed afterwards. Another transaction will just wait for the lock to be released.
But make sure you have your LOCKTIMEOUT database configuration parm set correctly.
-1....No timeout will occur
n.....number of seconds to wait before terminating
0.....terminate immediately if resource is locked
A LOCKTIMEOUT of -1 or at least 5 should be fine.
Regarding, your other question, I am not familiar with
VB coding against DB2, so I can't help there. Sorry.
However, it might be useful to explain exactly what you are doing, and why. There might be other solutions for an audit table such as triggers that can automatically log updates to a table.