Have you been able to put a break point on that docmd statement to determine what is actually going on with the "ID = " & Me.ID . . .?
I worked a contract a few years ago where I started out in Access 2007 - XP . . . and then they switched the OS to Win 7 . . . and then they changed the Access version to 2008.
I did run into a few issues [not like what you've outlined above] . . . so I can confirm that there are issues when switching to Win 7.
It always bothers me when something that worked fine in one version - doesn't work when you 'upgrade' !!