I was thinking that might be a problem, but then I thought it would error, but it doesn't error. I just added this, and it didn't work.
(if (not (vl-position FileName FileNameList))
(progn
(close
(open (strcat DirPath FileName FileExt) "w")
)
(setq FileNameList (cons FileName FileNameList))
)
)