... mal ne grundsätzliche Überlegung...
Record-Locking soll doch normalerweise verhindern, dass die Datensätze einer Datei inkonsistent werden. Dazu ist es notwendig, dass "mindestens" die gewünschten Daten gesperrt werden (mehr Daten dürfen jederzeit gesperrt werden).
Ist die Transaktion beendet, sollten die gesperrten Daten sofort wieder freigegeben werden.
Jedes Programm muss also darauf gefasst sein, dass ein Zugriff scheitert und damit auch so umgehen können, dass keine Deadlock-Situation eintritt.
-- Übrigens konnte ich nirgendwo finden, dass "nur" die gelockten Bytes gesperrt werden, wo hast Du das gefunden?
Das Lock muss an der Stelle problemlos durchgehen, sonst würdest Du ja Deine Reservierung nicht anmelden können.
Denk mal an "first come - first served".
Mit Clustern hat das Ganze übrigens
IMHO nichts zu tun, sonder mit der Buffer-Size, wie Khabarakh schon sagte.
Sag doch mal bitte warum Dich dieses Verhalten eigentlich so behindert.
Gruß, bit4bit