The problem occours when updating via vba code on a priv. updated form. Using the simple - DoCmd.RunCommand acCmdSaveRecord - on the form does not work, not for me anyway.
After thorough testing I find that:
If Forms!YourForm.Dirty Then Forms.YourForm.Dirty = False
Or on a subform: Me.YourSubFrm.Form.Dirty Then Me.YourSubFrm.Form.Dirty = False
Does the trick, setting the Dirty to false forces the form to write the record to the table(s). Why the DoCmd action does not work I am unsure of as this command should force a write to tables, however in this case only the Dirty = false does the trick.