I'm running samba 3.0.21c on a production server (so I can't do a lot of tests).
I still have problems with locked (opened) files - the same problem was a few versions ago (from 3.0.13 or earlier to 3.0.21c) and sitll exists.
After 28 days server uptime and 8 days samba uptime (samba was restarted 3 times) some of files are opened, but 'smbstatus -L' didn't show those files.
Why I'm sure? One program (ran from samba share) opens a port (yes, it was restarted after samba restart). This program is still running on windows, port is opened (I can connect to this port) but I can't see any opened files on server (used by this program of course).
It is hard to do any tests, because monthly (via samba) there are over 800GB data transmited :) Problem occures after a few days running samba.
I can only attach You a damaged locking.tdb (1MB) file if you would like to do analysis, but I don't know if samba deletes files from tdb file (and locking.tdb is correct), or maybe there is an error reading/parsing/writing locking.tdb file.
BTW, I know that the latest version is 3.0.23-pre1, but I cannot install unstable version on server :( I know also that some errors with tdb files were fixed.
And the last one - configuration with lock* variables:
$ testparm -v | grep -i lock kernel oplocks = Yes
lock spin count = 3
lock spin time = 10
oplock break wait time = 0
lock directory = /var/cache/samba
block size = 1024
veto oplock files =
blocking locks = Yes
fake oplocks = No
locking = Yes
oplocks = Yes
level2 oplocks = Yes
oplock contention limit = 2
posix locking = Yes
strict locking = Yes