In our application, when a user deselects a field, EndEdit is called and the field is flagged as dirty (and made bold accordingly). If a user hits save without deselecting that field, however, a NullReferenceException is thrown from CurrentRecord.EndEdit.
Null checks on CurrentRecord, manual calls to EndEdit before or while writing the save, and other tweaks to our code have not been able to solve the issue. CurrentRecord.EndEdit is always at the top of the call stack with this issue.