ernestasju:invoking Mesh.Draw() only once per mesh in Game.Draw(GameTime) of course...
Your guess is correct. You need to draw the model once for each render target you want to draw it to in XNA.
I think you can do what you want in DirectX 10, as far as I know... but that's DX10, and not usable from XNA