CurrentCulture incorrectly defaulting to en-US in ASP.net

I have just migrated around 100 ASP.net sites from IIS 6 on Windows Sever 2003 to IIS 7 on Windows 2008. I’ve just noticed that various pieces of code that use things like DateTime.Parse have started kicking up errors “String was not recognized as a valid DateTime”. I’ve tracked this down to the fact that the CurrentCulture of the sites is defaulting to ‘en-US’ and so my UK users are inputting dates in an unexpected format.

Setting culture for session

Each user of my application will choose their country, after which it will be stored in a cookie and stored for later requests. Everything is working OK, but I need to set the culture at the start of a session. I’m currently experimenting by setting the culture in the web.config to be en-GB and then using the Global.asax to override the culture for the session to en-US. Code below