If one is using azure cache for asp.net mvc session state management, do deployments including dlls/web.configs changes still boot users/force a new session?
I would assume that since the session is then external to the app that it would keep it open, and not force the user to login again. True?
You should look at the new caching features in the Azure 1.8 SDK (released last week): http://msdn.microsoft.com/en-us/library/windowsazure/hh914161.aspx
Caching for roles is no longer in "preview" BTW. If you set up a cache cluster and your session state is in that Cache Cluster, then your web roles can go down and your application will continue to work normally.
You can also use the Azure AppFabric caching (which is caching as a service) they provide assemblies for an AzureCachingSessionStateProvider: http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_buildingappswithcacheservice_topic3.aspx
To answer your question: Does distributed session state work if I take down one web role to deploy code?...yes. http://robbincremers.me/2012/02/23/using-windows-azure-caching-service-to-improve-performance-for-your-cloud-services/
I posted a link with how it works with a load balancer. Since the load balancer is stateless it can route any request to any web role/server...since the session state is in a distributed cache, then any web role can successfully respond to the request. If you have 3 web roles and you take 1 or 2 down to update code, the remaining ones can still return requests.