Das LOCK_UN _musst_ Du dir schenken. Durch fclose() wird das File auch entsperrt, und zwar in einem abgeschlossenen Auftrag (atomarisiert).
siehe Changelog: http://de.php.net/manual/de/function.flock.php
seit php 5.3.2 muss wieder manuell entsperrt vor fclose()
fclose( $file );
Sonst müsstest Du der Ordnung halber vor dem Entsperren noch ein Flush() auslösen, damit ggf. benutzte Buffer vor dem Entsperren noch in Richtung Datei geleert werden.
gut, also ist flush() bereits teil von flcose().
gruß mod