I don't prefer to use DXDraw1.Surface and it's methods. Especially DXDraw1.Flip is slower than drawing directly to the primary surface. Do you agree?
But when I talked with you, I realized that my DXDraw.Width is 800 and if I draw my image in it there is no flicker, but if some part of my image is drawn anywhere on the screen(on the primary) where this point isn't in DXDraw's limits and this part of image can't be seen by the user it is flicker like crazy. So, I'd like to ask you: When you said there is no flicker, were you drawing your image on DXDraw completely (where you drawing it in the DXDraw's limits)? And your answer is yes, can we say primary's backbuffer is only valid for DXDraw's limits?

Note: If this isn't clear, I can give you an example.