The handling of 'ud.repochanged' is flawed, in that it's state which is only held in-memory. If the process is interrupted after it's marked but before the updated tarball is written, the git repository becomes out of sync with the tarball. At Mentor, we're seeing cases where a mirror tarball is fetched which doesn't contain the necessary revisions, but an updated tarball isn't written after the fetch.
Patch submitted to the bitbake-devel list for review.
http://git.openembedded.org/bitbake/commit/?id=eaaa81393f181432c8586b17ade623f42c9fed2e