You get 60-62fps with DDFLIP_WAIT because your update and draw is taking long enough sometimes to just miss a vertical blank, so it has to wait for an entire frame to do the flip. This results in a dropped frame and a lower fps reading.