May you need to check if a expires header has been added or not.
LSWS do not even open those PHP or rhtml files at all, how can those files be locked by LSWS?
You can verify the file content have been changed or not by viewing it from command line.
Your conclusion that LS prevent file being overwritten is completely wrong.
The old file content may be cached somehow somewhere, but definitely not LSWS. Those files are not handled by LSWS at all.
It is a bit tricky for application to detect file changes if the old file is removed and replaced by a new file, if old file is opened by an application, the application will not reload the new file without special code to detect the change. LSWS has such code built-in, if you change a static file served by LSWS, LSWS will load the new file. It is a problem for the process that directly handle those files.
I am not going to respond to this unless you can provide some solid evidences, not just speculations.