D3D definitely supports rendering to targets that are bigger than the screen. I suspect your problem is one of:
You are absolutely right about the depth buffer. After creating a depth stencil surface that matches the render target I can now get the full frame. Thank you so much!
However, MultiSampleType must be set to D3DMULTISAMPLE_NONE for the render target, otherwise the GetRenderTargetData would return D3DERR_INVALIDCALL. Without multisample I might as well just capture the screen with a lower resolution but with anti-aliasing. Is there a way to use multisample in this method?