<p>When is it appropriate to use &lt;cflock scope="application"&gt; or it's ilk as opposed to &lt;cflock name="foo"&gt;?  </p>

<p>Specifically, I'm interested in using CFLock to protect shared objects in the application, session, or server scopes, but I'm also interested in finding out about different uses of locking in ColdFusion.</p>

Typically you should always use cflock for session, application and server vars any time you're reading or changing those vars outside of an Application.cfc so as to prevent race-conditions.  Here's an article that may be helpful:
http://www.horwith.com/index.cfm/2008/4/28/cflock-explained
Edit:
To further answer your question about scope, I always use
```
<cflock scope="application">
```
(for example) whenever interacting with shared resources.