I used global find/replace because I had a bunch of type definitions in a low level unit that many other units referenced. As the program grew it became clear that the original names chosen weren't the best and I decided to give them better ones. Doing this by hand would have been a very long process. In hindsight I should have used the "Whole Words Only" option but I didn't think I needed to.
I'd class this as a bug, albeit an obscure one, because throwing the lfm and source out of alignment resulted the program crashing without warning. Maybe the compiler could check for an inconsistency and issue a warning?