A couple of things:
The Form_Close event is too late for this...the Record is already saved by the time it executes, and hence is no longer Dirty.
Having DoCmd.Close in this event is going to pop an error...it's actually going to prevent the Form from closing, which it was already set to do.
As Paul suggested, you'll need to check, in the Form_BeforeUpdate event, whether any Control has actually been changed, and assign Now() to Modified, if it has.
Linq ;0)>
The problem with making anything foolproof...is that fools are so darn ingenious!
All posts/responses based on Access 2003/2007