I think it's a good design. If all the locking checks are done at the facade level you don't have to use LockManager in FileAccessManager or viceVersa. And through this you get a clear separation of concerns. If anyone thinks otherwise please reply.Thanks.
Your pseudo-code looks ok, but I guess the isLocked-method should take 2 arguments: recNo and lockCookie. And if the record is correctly locked the update should be executed (not throw an exception). Just my 2 cents.
btw I decided not to use the facade design pattern, just 1 Data class. So maybe I'm not the best person to give advice on this one