Ese código se puede resumir puesot que no es necesario comprobar si el fichero existe.
CreateFile ya lo hace:
Código Delphi
[-]
function FileIsInUse2(aName : string) : boolean;
var
HFileRes: HFILE;
begin
HFileRes := CreateFile(pchar(aName), GENERIC_READ,0, nil, OPEN_EXISTING, 0, 0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
_lclose(HFileRes);
end;
Saludos.