We run a access database on our Windows 2003 Enterprise server. I have to perform regular compact and repairs on the database. Depending on how many users your organization has. I work for a small business, so it's a lot easier. I have everyone shut down their computers. This lets me know, there's no one on the database, when you go to do the compact and repair. If the lock file is still there, then I restart the server. When I log onto the server the lock file is usually gone. I have had one instance where the lock file was still there. So I use this freeware program called unlocker.
http://ccollomb.free.fr/unlocker/You can delete the lock file, with this program.
I backup the database before the compact and repair, I also save it on another remote location. If you're able to use a copied version of the file for test purposes can you compact and repair that database? If so I don't think it's an application issue. I think it's just because someone is on the database, when you go to do the compact and repair.
I should mention that we use access 2000, we're a small business. I don't know if deleting that lock file with a 2003 database would cause any problems. So please delete your lock files at your own risk.