The error says that the height of the viewport is incorrect... with the value 0x80000000. Maybe Height vs ActualHeight?
Try that first.
The concept is that the DXGI back-buffer can't be multi-sampled with a flip-model swap-chain that must be used in WinRT. For multisampled surfaces to be correctly displayed it must be drawn to an offscreen buffer and then downsized to the swap-chain backbuffer. ResolveSubresource does that, it copies the multisampled surface resolved to the correct resolution.
So ResolveSubresource does what Present normally does, it copies the render-to-texture target contents into the back-buffer, which can then be flipped with an actual Present.
So something like this:
SetRenderTarget(multisampledTexture, multisampledDepth); ClearRenderTarget(); drawGame(); ResolveSubresource(); Present();