Well, it's been a few days since any new posts, so I'll go ahead and ask two in a row… :D
I've been getting into this a bit more during the night, and decided I would try my hand at a pong clone, but got bored and it has now turned into a slightly more fast paced Arkanoid clone. I figured the first steps would be to get the ball bouncing around the screen like I wanted and the paddle/slider bouncing the ball as it gets hit. Keeping the ball inside the screen bounds wasn't too hard (I had balls go missing or get stuck several times), but I finally just started resetting the ball's X or Y value if it landed outside. Not the prettiest fix, but it seemed like it would be fast to process and absolutely ensure the ball doesn't get "lost".
As for the paddle meeting a ball, I was using Rectangle.Intersects(). It seems the faster the ball moves the more flaky the collision detection becomes, eventually at high speeds it can even go through the paddle (i.e., the ball's velocity was high enough to cause it to be drawn before, then after the paddle without making a connection). It had to be run at a very high speed to do this, but it still bugs me.
So I guess my question is twofold,
1) Is Rectangle.Intersects() the best collision detection method for a simple (but fast) arcade game like this, and
2) is there a good way to guarantee a reliable collision?
I've read a bit about preemptive collision checking, but most of the examples were very advanced. I hope I haven't jumped in over my head. :)