Solution 1:

.Net is native in IIS7 rather than being an ISAPI filter. That gets you pipelining and greater configuration control via web.config. Another consequence is that URL permissions applied in web.config apply to all resources and not just ones mapped to the ASPNET ISAPI filter as in IIS6. As a consequence, if you want to use ASPNet MVC, it is much easier in IIS7. You are also able to combine HttpModules with non-.NET technologies like PHP. For example, you can use a .NET URL authorization or Microsoft's URL Rewrite Module with something like PHP and it will work just fine.

Solution 2:

II7 run .net apps faster than 2003. In addition there are more features avilable to the developer. Stackoverflow might be of more help there but

From http://weblogs.asp.net/scottgu/archive/2007/04/02/iis-7-0.aspx

1) You can now use ASP.NET Forms Authentication, Membership/Roles, and any other feature for all requests to the server (for example: .htm, .php, and .jsp files)

2) You can now easily re-write the URL of any web request and/or modify the request in interesting ways

3) You can replace or extend any existing IIS feature using VB or C# (for example: you could remove the built-in directory listing module and plug-in your own).

Administratively I've found IIs7 to be much easier to manage over iis6

Solution 3:

That would be a no-brainer for me: IIS 7. I just say two words: Integrated Pipeline.

Here is an interesting Microsoft TechNet article: Top 10 Performance Improvements in IIS 7.0.

Solution 4:

IIS7 is the biggest update to IIS in a long time, and includes many fundamental changes. By and large this is a good thing, as the new version is much faster, more reliable, more modular, and generally just better.

However, that comes at a price. An application that's set up using IIS6 may take a little extra configurationt to get working as expected in IIS7. You'll have to decide if that risk is worth the benefit.

Solution 5:

Another consideration that you may want to take into account is what sort of Apps your client will be running in the future. Currently it's much easier to develop an ASP.Net MVC application to run on IIS 7 as opposed to IIS 6. In a nutshell it just requires some custom IIS configuration to get it to work, but it is an extra step that needs to be done whereas with IIS 7 it'd just work.

All other things being the same, I'd go for Server 2008/IIS 7 simply due to the more recent updates.

Another thing you might want to consider is how long the server will be deployed. If you're thinking longer-term, that's be another plus for 2008. (As 2003 will be EOL'd much sooner than 2008..)