Between Ben Nadel's blog and my blog, there has been some discussion on the use of CFLock, and a lot of the comments and questions are related to what we as a community consider "Best Practices".
Most ColdFusion developers consider it "Best Practice" to always lock the application scope every time you use it in your code. A lot of this really stems from the early versions of ColdFusion, when not locking your application scope could cause memory corruption. As of CF MX memory corruption is no longer an issue but race conditions are still possible, so Adobe still recommends that you lock your application variables as a "Best Practice" to be on the safe side.
Unfortunately, many developers really don't understand CFLock, and many developers don't understand that "Best Practices" are not always black and white.
[More]