CAB,
Thanks for your leads and tips. Here are the two versions that worked the fastest.
Both functions were modified to accept only nth positions between 0 and 1+ the length of the original list.
Insertnth is based upon the last Insert@ example, and Insert-nth is based upon the Insert example.
(defun Insertnth (pos item lst / tmp)
(if (< -1 pos (1+ (length lst)))
(progn
(repeat pos
(setq tmp (cons (car lst) tmp)
lst (cdr lst)
);setq
);repeat
(append (reverse tmp) (list item) lst)
);progn
lst
);if
);defun
(defun Insert-nth (pos item lst)
(if (< -1 pos (1+ (length lst)))
(cond
((zerop pos) (cons pos lst))
(t (cons (car lst)(Insert-nth (1- pos) item (cdr lst))))
);cond
lst
);if
);defun