This kind of begs the question: how many more places in Wine should the volatile keyword be used? I find it hard to believe that this is the only spot in a large very low-level project like Wine.
You're comment is absolutely right. The thing is, those bugs are especially hard to find out and require very careful code examination.
IMHO, performing code review of the whole tree for missing volatile keywords would be a waste of time compared to do it on a case by case basis. Simply keep in mind that those bugs may happen - especially with "aggressive" compilers such as gcc 2.96. If a bug didn't happen with the previous compiler and does show up with the latest release, it might be a good candidate.
Now try to don't go paranoid about compiler issues when WINE crashes with your new Linux installations ;)
Francois