I posted a summary of this problem in a MSFT newsgroup yesterday.

Got the expected response.

MSFT's ill conceived implementation of the ProofReadingErrors collection does appear to cause the collection to be recalculated when accessing a member of the collection.

Somebody mentioned that there is a paper on this somewhere.
If I find the paper, I'll let y'all know.

So fer now, I'll mark this thread as Solved, with a very unsatisfactory ending.