I notice the manual perpetuates the error with file access bits, which has propagated into a lot of other documentation, and even caused several people to write their own software incorrectly. So I'll post this here so it is in public.
The file access byte at XY+14 after calling OSFILE indicates whether the object *HAS* those access settings, ***NOT*** if those access settings are absent. That is:
b0: 'R' access present - user can read the file
b1: 'W' access present - user can write to the file
b2: 'E' access present - user can execute the file if 'R' absent
b3: 'L' access present - user cannot delete, overwrite or rename the file
b4: 'r' access present - public can read the file
b5: 'w' access present - public can write to the file
b6: 'e' access present - public can execute the file if 'e' absent
b7: implementation specific. Public can never delete or rename a file they do not own, so public L is always implicitly set.
The access byte setting for the standard "WR/wr" access setting is &33, ***NOT*** &00.
DFS implements a subset of this in that only b3 is ever returned.
See also the Wiki