Oh, I forgot to mention In IIS I created a site named "greg", physical path "C:\inetpub\wwwroot\greg" IP address "All Unassigned" Port 80, Host name: "greg.mydomain.com".
It seems like it's probably something simple why IIS will process the default document if it's a cfm but not if it's called by name.
That latter point you add may be key to the solution.
After creating the new site, did you re-run the web server config tool? I’d suspect not. And prior to running CF on IIS 7, you didn’t need to do that (whether on IIS 6, or perhaps with IIS 7 in IIS 6 Compatibility mode).
But with IIS 7 (and 7.5) in their native mode (supported only in CF 9.0.1 and above), you will find that in the docs, the installer, and in that web server config tool, you will be told that when using the “all sites” option, you will need to re-run that when adding a new site. It just is what it is.
As for that 404 error you’re seeing, I would bet that it’s not because the file you requested is “not found” (the normal meaning of a 404). Rather, I suspect it’s because the page you’re visiting is getting an error, but because you’re visiting the site “from outside”, as you put it, IIS 7 is setup by default to show that limited error page (a 404) rather than the details of the error. Before fixing things per the above, try visiting the site from a browser on the server itself, and see if you see more detailed errors.
Let us know if that solves things for you.
PS Why did you choose the “enable 32-bit” option? Are you using an IIS app pool that is running 32-bit? Do you really need that, for a site talking to CF? Just curious. Should not necessarily affect thngs.