For example, see http://fab.wmflabs.org/D26 . I verified this can be reproduced as follows:
Do a commit
arc diff (creates differential)
git reset --hard original_git_hash (Phabricator shows this under local commits)
arc diff
Although the local commit hash (and thus parent, message, and code) are exactly the same, it will update a new diff (after asking for a message). Gerrit will decline to change the server state in this case.
Originally reported by qchris at http://fab.wmflabs.org/T228