>Sounds like you're having the same problem addressed in a previous thread: Do you have an explicit 'return FILE_ERRORHANDLED'? If not, it should return the .T. you're seeing.
This is framework code (not mine). The line reads: RETURN FILE_ERRORHANDLED, which, for some reason, keeps returning a .T. instead of the -6 that it should. Just to test it, I replaced the line to read:
lnRetVal = FILE_ERRORHANDLED
RETURN lnRetVal
This also returned a .T., although lnRetVal was definitely set to .T. - I traced through it in the debugger. This isn't the normal .T. that gets returned by default from VFP (when you don't explicitly return anything).