DirMove checked whether the destination exists using the raw path but performed the rename with the encoded path, so for directory names needing encoding (trailing spaces or periods, characters like \* ? : < > | " or a literal backslash) the existence check looked at a different server path than the rename used.