You need to give specific system details for us to give you a accurate answer. In general best memory performance is obtained when the memory is running in sync with the bus or memory controller. Example my old Q6600 overclocked to 3 GHz. The bus speed ran at 1334 MHz. From the testing I found running the DDR2 memory at 667 performed better than when at 800. This happens because 667 will evenly go into 1334. If I could have ran the bus at 1600 MHz running the ram at 800 MHz would have performed better. Newer CPU's have built in memory controllers so this is not as much of a problem but similar things can still happen within the CPU.
Since you are talking about DDR2 you must have an older system. If your memory will run at 800 give it a try. If you have DDR2 667 memory do not waste the money on DDR2 800 memory as the difference in performance is small. Besides DDR2 memory is way to expensive.
Main Box*i7 930*GA X58A-UD3R R2*3x4 gig Patriot DDR3 1600EL*EVGA GTX 460 1 gig*Intel X25-M G2 80 gig*WD Green WD20EARS 2 TB*ASUS DRW-24B3LT*Samsung SH-S223L*Corsair AX750 PSU*Rosewill Challenger case*Windows 7 Ultimate 64 bit SP1