I'm changing the interface of compiled units, so it's not one of the edge cases. It's happening all the time, not just occasionally or once off.
The .pas file is 6 minutes more recent that the .ppu and .or files for it. It doesn't make any difference whether it's in the project or just on the search path. It doesn't matter whether the file is open in the IDE or not
No, I can't reproduce this with a small project. It only happens (so far) with my very large project (~320 units in the .lpr, and that's about half what's in the project)