I haven't found an answer that am I 100% comfortable with. Mainly, most of the other people who have had problems similar to yours have posted 'solutions' without understanding what is happening and why. I will spend some time researching this as it appears this happens quite frequently. In the meantime, here are some 'fixes' that will allow you to move forward (hopefully).
The main culprit appears to be applicationhost.config which is located at c:\windows\system32\inetsrv\config. You will need to open this up in notepad and change the line that looks like this,
<section name="requestFiltering" overrideModeDefault="Allow" />
If yours says "Deny" then try changing to "Allow". The only reason I don't like this is that several other people have reporting this setting but in different parts of this file. I just don't know specifically what every one of these settings does to recommend this as a permanent solution.
IIS is very complex and I understand a good deal of it but certainly not everything. What I usually reccomend is to install all features because this is typically what a host will have and it elimanates a lot of these problems. If the above fix doesn't work I would suggest reinstalling IIS and asp.net. Here is a good link for doing this. Link
Hope this helps.
EDIT: I overlooked your comment about nopCommerce working fine on IIS 5.5. I think this suggests that your applicationhost.config file is corrupted or mis-configured on your 2008 server box. There are 2 many settings in there for me to debug each one in this forum. I think that if your setting from above is deny that should fix things. If all else fails reinstall. I hate that fix but sometimes it just works.