Hulfy,
On your local development box, you can create Virtual Hosts for each site on which you're working to keep things clean and separate while developing.
I'm on Mac 10.5.7 with Apache 2.2.9 and ColdFusion 8.0.1. This is what I do when I start a new project or site:
1. In my hosts file (/private/etc/hosts), I add a new host entry for my site as I start a new project:
127.0.0.1 dev.mynewsite.local
On Windows, this same file (hosts) is typically here: c:\windows\system32\drivers\etc\hosts
2. In my Apache httpd-vhosts.conf, I add a VirtualHost entry for this new site:
<VirtualHost *:80>
ServerName dev.mynewsite.local
ServerAlias dev.mynewsite.local
ServerAdmin me@email.com
DirectoryIndex index.cfm index.html index.htm
DocumentRoot /Users/path/to/Sites/mynewsite
</VirtualHost>
I think in IIS, you would just create a new site in the IIS Administrator and tell that site to 'listen' for requests for the domain/host created in step 1, above.
3. I restart Apache (I don't think IIS needs to restart for this) & I'm ready to go.
If I point my browser to http://dev.mynewsite.local, I see my newly setup site. Now, I can set my mappings just like I do on the production server and without worrying about duplicated mappings, assuming your new application has its own Application file (cfm or cfc). I find that with this setup and approach, I can better mirror or mimic my production environment when I develop, plus it keeps all my local sites/projects neat and orderly!.
As for the use of the application scope, I think that's a bit of a larger 'debate'. Personally, I like this scope for globally used objects, common elements like DSNs, mappings, and the like. I just try not to go overboard and shove too much in it
.