probably a silly question but have you included the DDBLT_WAIT flag in all your calls to Blit and Flip? That can cause this problem, esp if your video card is too fast.
I'm creating a Breakout clone and having a problem with the ball. When the ball moves fast, it appears to move to the current position before the previous position is fully erased causing a flickering or tracer effect.
I'm using DX with double buffering and calling Flip(). Any way to fix this?