First, make sure that you have cleared the check box labled, "Update this value when the results of the formula is recalculated". This is most likely the problem.
If that doesn't work, then consider setting the date during the OnLoad event (only if a date doesn't already exist) instead of as a default value.

Signature
Greg Collins [InfoPath MVP]
Please visit: http://www.InfoPathDev.com
I have a read only text box with a default value of: today() to show the date
that a form was filled out. However, when managers go to review the form the
next day, it automatically updates. How can I get just the date the form was
filled out and submitted without asking the user for this information?