Function sfCore::checkLock calls sfToolkit::hasLockFile with time limit 5s. It doesn't make sense, because if user create custom lock file, it will work just for 5s and then application will be automatically unlocked.
Clear cache task deletes lock file when finished, so why not rely on that?
In my opinion the 97 line of sfCore should be as follows:
if(sfToolkit::hasLockFile(SF_ROOT_DIR.DIRECTORY_SEPARATOR.SF_APP.'_'.SF_ENVIRONMENT.'.lck','0'))
There is also a problem on Win2000 with FAT32 filesystem (and propably other FAT32 systems), because php function fileatime() returns not accurate date - just year month and day without hours,minutes and seconds.
I have Symfony version 1.0.17 PRE from SVN.