The dialog for profiling a website very often leads you down the wrong path. If I can explain what the settings do, this should help.
At the root of the problem, Profiler NEEDS an unused TCP port because it runs an ASP .NET worker process outside of IIS. It launches w3wp from the console and the only bindings it can use this way are TCP port (host headers, etc don't matter).
Since it is launching a listener on this port, it can't be in use - ie IIS cannot also be listening on that port at the same time. To make things worse, the "profile on original port" setting seems to have no effect except to restart IIS, which will fail about 50% of the time. Do not use this. Also, specifying the ASPNET user account is only meant for a specific circumstance on WinXP. Don't use that either.
The address textbox lets you include a port, but this is only for the purpose of allowing Profiler to parse the bindings in IIS to find the website's virtual directory location. The website you are profiling will actually answer on the unused port, by default 8013.
So what you are meant to do is specify the address the site normally runs on in the address textbox, ie http://localhost:80/MyApp and the port Profiler will run it on in the unused port textbox (8013). If you want to invoke the code so Profiler will pick it up, you must tell your browser to open http://localhost:8013/MyApp. Your browser can still open http://localhost:80/MyApp, but that request will be serviced by IIS and not profiled.
If your website must run on the original port, tell profiler unused port (80) and shutdown the website in IIS.
Finally, I don't think the worker process started by Profiler respects the default document you've set and that's how you end up with a directory listing. You just need to click on your default document.
Sorry this dialogue is so misleading. I would personally like very much to have it changed.