I recently handed in my master's thesis (CS), and I did what you should not do for your own peace of mind's sake: I skimmed it again afterwards. I realized that I had not updated some statements to reflect the omission of some definitions that had existed in an earlier version, an error that I didn't catch despite proof-reading - I assume because I was in the mindset and knew what the statements were about, so I missed that some symbols were not defined in the relevant context during proof-reading.
I also recently came across this speech by Leslie Lamport on how to write clearly structured proofs, and the structure he suggests should lend itself very well to organizing mathematical publications in such a way that everything is easier to cross-reference as well as check for syntactical and semantic problems.
Has anyone else had the problem that only after they finished working on something, they realized that it had undefined symbols/statements that made sense in an earlier version, but need updating to the current one? If so, how to track those issues? An off-the-cuff way would be to have a dependency graph in the background, but I'm not sure something like that is available.