First of all, I don't really understand what you wanted to do by this:
(command "-SCALELISTEDIT" "A" "1:25" "N" "1:25" "E")
it's You: Add 1:25, then ACAD: Hey, it exists. Redefine? You: No, then 1:25... what?!
(vl-load-com)
(defun C:ViewportScaleImportNWG ( / scales)
(command "-SCALELISTEDIT" "D" "*" "E")
(setq scales (mapcar '(lambda (x) (cdr (assoc 300 (entget (cdr x))))) (vl-remove-if '(lambda (x) (/= (car x) 350)) (dictsearch (namedobjdict) "ACAD_SCALELIST"))))
(if (not (vl-position "1:25" scales))
(command "-SCALELISTEDIT" "A" "1:25" "1:25" "E")) ; create new
; ELSE: do nothing is already exists
;; or
(if (not (vl-position "1:25" scales))
(command "-SCALELISTEDIT" "A" "1:25" "1:25" "E") ; create new
(command "-SCALELISTEDIT" "A" "1:25" "_Y" "1:25" "E")) ; redefine
;; accordingly all the next
(if (not (vl-position "1:50" scales))
(command "-SCALELISTEDIT" "A" "1:50" "1:50" "E")) ; create new
(princ) ;clean exit
)