It looks like the ddns script in openwrt uses nslookup to determine if the DDNS IP needs to be updated or not. My issue turns out to be that ONE of the DNS servers of changeip.com is the returning the wrong IP address.
Is there a place where i can modify the ddnsc script so that the nslookup is done against a specfic DNS server?