It has been my experience that using DNS is a good thing if there's not too much overhead from a data transmission perspective. If there's a reasonable amount of caching and the device is intelligent enough to manage DNS properly then it can save you tremendous hassle with larger deployments.
With a lot of "dumber" devices DNS is not even an option so we make certain we have the ability to remotely reconfigure the devices or pray that nothing ever needs to be changed
I'd be interested in hearing what others are doing as this decision is something you should have nailed down before deploying thousands of units to the field.