Just to troubleshoot with anyone else who was using 404 redirects, here's how I'm setup.
At the site level in IIS, I set the ERROR PAGES > EDIT FEATURE SETTINGS... to CUSTOM ERROR PAGES, Path: /index.cfm and Path Type: Execute URL.
I then double clicked on the 404 page and change it to EXECUTE A URL ON THIS SITE: /index.cfm
The way the (old, legacy) application worked was, users would request locations that didn't exist when IIS checked, but rather than use URL Rewriting (which is what we do now for new apps), IIS would look at these Error Page settings and throw the request to index.cfm. Since it was a .CFM page, ColdFusion would fire up its application.cfc, process the URL scope, which has a structure in it that looks like: 404;HTTP://DOMAIN.COM:80/PATH/TO/NONEXISTING/LOCATION and it would chop that up to determine the file the user intended to view, build the page and serve it to the user. So in essence, every "successful" page request was actually seen as a 404 by IIS initially.
Well this all worked flawlessly on ColdFusion 8 and Windows 2003 Server, but now that we moved operations to ColdFusion 10 (Standard) on Windows Server 2008 R2 x64 in a virtual environment, and we found out that the result was one of 3 things: The page loaded as expected (though slower than expected), part of the page loaded (with a CONNECTION_RESET error) or none of the page loaded (with the same CONNECTION_RESET error).