The fact that it says 400MHz means that the effective speed is 800MHz, as this is DDR RAM. Similarly, the speed shown for 1066 would be 533MHz.
As for the reason that it is showing 400 rather than 533, this is likely because there are many chips that do not conform to the JEDEC standard for DDR2 at 1066MHz. This is because many 1066 chips came out before there was an official JEDEC DDR2 1066 standard. On these pre-JEDEC chips, typically the timings and frequencies are not stored in the main SPD sections, but rather in an extended section, called the EPP. It's possible that your BIOS or memtest is reading the speed from the second SPD slot, but not from the extended section where the 533MHz info is stored. I would double-check the settings in your BIOS.
It's also possible that your motherboard may not support DDR2 at 1066 even if the RAM is so capable. It's also possible, especially with chipsets and/or DIMMs that predate the official JEDEC DDR2 1066 spec, that they may not work correctly together. For example, my wife's PC has a "1066-capable" motherboard and 4GB of G.skill 1066 DDR2, but it becomes unstable when running some games unless I bring the memory down to 800.