I know this is off topic, but hopefully my findings may save someone else a ton of work...
I've just spent the entire weekend trying to trace and squash a bug that was reported on one of my NetTalk apps, which would GPF nearly every time a particular procedure was called.
After poring through the code for ages, I isolated it down to one line within an IF statement where I cleared a flag prior to running a loop. The code was just:
Clear(LOC:RunFlag)
I scratched my head for a while, wondering why THIS particular line would cause a crash. I even tried LOC:RunFlag = 0 which also GPF'd.
Finally, I looked at the field under 'Local Variables' in the IDE, and noticed that the 'Reference' field was checked on it. Removing this check resolved the crashing immediately.
The thing is, this is an old project, over a year old, and the LOC:RunFlag field has been in there for a while, over several iterations of the project.
For some reason, the compile I did last week had this 'issue'. I've never been to the 'Local Variables' area of this procedure for months now. Interesting that this variable was the first one in the list of about 20 other local variables.
I know the IDE had a problem in the past of inadvertently turning on the 'Reference' option, but I thought we had moved past that. Last week showed that this can still come back to haunt you.
Rant over.