Thank you for your replies.
The thing Nick points out with using vertical sync perfectly makes sense and is most likely the reason for my 50% FPS reduction.
I'm still surprised that the Xbox is not managing to render my engine at 60FPS because there is not much I do. But I will try and find some cuttoffs I can make.
I will most likely just turn off vertical sync since it is not crucial for my project (a board game).
Another experience I want to share with you; yesterday evening I tried to run my engine on my 32" LCD (1080i set for xbox) at home and I was surprised about the result.
When I set the backbuffer programatically to 720p using PresentationParameters.BackbufferWidth/Height it will render at 30FPS. Window.ClientBounds.Width/Height correctly tells me that I have 720p.
The only RenderTarget I'm instancing using PresentationParameters.Backbuffer.Width/Height is then also 720p.
But when I'm NOT telling the GraphicsDevice anything about the Backbuffer size, it will render the scene at 60FPS while the
Window.ClientBounds.Width/Height tells me that its rendering at 1080p, while the PresentationParameters.Backbuffer.Width/Height is at 800x600.
I have a hard time understanding that behavior. How can the BackBuffer be at 800*600 (different aspect ration) while the screen is rendering at 1080p? The result is perfect and runs at 60FPS, but if I don't set the Backbuffer I don't have the option to tell the xbox to render the game at 720p when the display (e.g. computer monitor) supports more than 800*600. Or is there another way?
Thank you for sharing your experience with me.