SuperTramp, you are right! Thanks for the tip! It does work after I removed the xmlns attribute. I created a new web app using Visual Studio 2008. The xmlns attribute was not there in web.config. Our application is an ASP.NET app created before VS 2008. Most if not all documentation for web.config still has that xmlns attribute. That means a lot of asp.net apps won't work without this change to web.config.
I am not sure the significance of that xmlns attribute in web.config. What would happen if we remove it. We may just get some warnings from the IDE. Will it cause runtime problems?
Anyway, it would be nice if MS can patch that up or document that so that other people won't need to spend a couple days like I did trying to figure it out. Without SuperTramp's tip, I would never have made it to work.