Here is the code for my corrected DynDns updater. Its a UNIX shell script and runs as a cron task on the SLUG:

#!/bin/sh
wget -q http://checkip.dyndns.org/index.html --output-document=/var/tmp/new.ip
if [ "`cat /var/tmp/new.ip`" = "`cat /var/tmp/old.ip`" ]
then
        echo "No new IP"
else
        PAT='Current IP Address:.*[0-9]*.[0-9]*.[0-9]*.[0-9]*'
        if grep -q "$PAT" /var/tmp/new.ip && grep -q "$PAT" /var/tmp/old.ip; then
                wget -q 'http://MYNAME:MYPASSWORD@members.dyndns.org/nic/update?system=custom&hostname=MYHOST.MYDOMAIN.co.uk' -O /var/tmp/upd.ip
                echo "New IP"
                mv /var/tmp/new.ip /var/tmp/old.ip
                rm -f /var/tmp/upd.ip
        fi
fi

Places where specific parameters are requires are indicated with capitals.