Memory will typically 'underclock'. The hitch could be in the SPD register (on the memory module) and how the motherboard handles it (and manual settings if available). The SPD register contains the suggested timings at different speeds. Most modules contain timings for common speeds, so 800 models should be fine at 667. If timings aren't there, its usually possible to manually set them (at least on PC motherboards).
Like popatim says, most systems seem to be most efficient when the memory and system bus are 'in harmony'