A problem like this seems to happen every so often - files on your Exchange server seem to be mysteriously locked, in use by some process. There has been a number of cases where database engine was not able to get to database files or transaction logs. What to do about it? A reboot might help, but the problem might also come back after the reboot.
Per what I found - the easiest way to find what has a file opened is to use a tool called Process Explorer, one of free tools off Sysinternals web site. There is no install (at least in current versions) and once launched, you can simply press the "Find Handle" toolbar button (or go to Find > Find handle menu). Put in the name of the file that is currently locked and press the "Search" button. This works for ANY type of file - .edb, .stm, .log - does not matter.
This is going to list the process that has the file opened right now. If you then select the process in the "Process Explorer Search" window, you will be able to see the exact open file handles in the bottom pane and by right-clicking on it - you will have an option to CLOSE the specific file handle thus releasing your file from the grip of that evil process! :)
Of course - please be careful with this. Most cases when this becomes very useful is when you find your files being locked by AV software or some process that hung and just did not let go of the file.