In the letn expression the variable entry contains a copy of the association not a reference. Set the association directly as shown in Cormullion's example:
(setf (assoc key Dict) (list key "new value"))
In the newLISP programming model everything can be referenced only once. Assignment always makes a copy.