In the worst case, you'd face inefficiences because applications would have to get entire documents plus their supporting resources, which seems like the only practical way to handle these issues right now. This could, however, provide a very plausible solution.
Cookies have a bad reputation, but they're very good for providing state to sessions.
It depends on which user base you're talking about. Applications that don't demand stylesheets and transformations and other goodies are much less demanding. For more complex applications, however, it's a lot more difficult, and bandwidth and processing constraints become much more important. Sounds good, though I far prefer Macbeth. I'd question whether the issue lies with HTTP itself - as I noted above, there are ways to maintain state in HTTP, and they really aren't difficult to implement.