I have some notes about last conversations.
At first regarding following comment by Mike:
"In the meantime, if your application wants to detect session expiry AND use other remoting channels than XMLHttpRequest, I think you should implement the session check yourself in your application code, possibly with help from a DWR XMLHttpRequest based call."
Mike if by "your application" you mean application which uses dwr then (XMLHttpRequest and Iframe) are actually implementation details of DWR and client application just uses API and have to know about actual implementation details.
Second note is about comment by David:
"Alexander, you should be able to do what I mention above in your code. After the upload request you can at an interval check the content of the iframe that dwr created during the upload and when there is content you can parse it and take the appropriate action."
Session expiry is just one case of error which can happen when calling dwr service and according to documentation to handle this error you need to register textHtmlHander and again I want to mention that iframe is just specific implementation for file upload because XMLHttpRequest v1 doesn't support file upload.
So there should be some general interface to handle error cases specifically session expiry(not exposing implementation details).
Please correct me if I am wrong.