>FLOCK() locks the whole file - I only want to lock the header. I want to prevent other users from adding records BUT they MUST still have access to the table.
Nigel,
FLOCK does not prevent other users from accessing the table, it simply prevents them from getting any lock (file or record) on the table. It is your only method in 2.X to lock the table for appending. RLOCK(0) does not do a header lock in 2.X.