We fixed a similar problem with config alone.
A great book to help here is Microsoft IIS 6.0 Administrator's Pocket Cunsultant by William R Stanek.
I'll try to help here. I've seen this before.
At my company we always split the separate sites into separate Application pools with ColdFusion running on them
For each Pool we have the following settings set up.
Right click on your Pools in Application pools
Recycle worker process (in minutes) 1740, everything else clear
We also make sure that Maximum number of worker processes is 4.
We shutdown worker processes after being idle for 20 mins, limit the kernel request queue to 1000
We ping the worker process every 30 seconds
That serves many tens of Millions of page views across 4 servers per month.
You should also check whether in your IIS "Application configuration" in the web site properties box/Home Directory/Configuration you have both the Extensions for .cfm set to the JRUN/CF dll as well as the wildcard application map.
We removed the wildcard application map as we found that jrun was getting polled on images and all sorts only to say it wouldn't process them.
Also in Web Site properties check the ISAPI Filters, if you don't use .NET then make sure it is not running as a filter in here as it could be just the filter that's causing the thing to blow up.
Have you checked the average queue length and queue time in ColdFusion. Try out Fusion Reactor to find problems here. It could be that your web site is just too busy, I doubt this though as CF would be blowing up before IIS.