Obviously the 667 MHz module will be running out of spec, as it is intended to run at 333 (when you check CPU-Z).
You can mix and match ram modules, though it is not adviced, but you should match settings to lowest denominator, so in this case it should be 333, and then set the voltage and latencies accordingly.
Maybe you are pushing much more voltage than the 667 MHz modules needs, and with loser latencies, and that is the reason for it to actually run at 400 Mhz.
Please check these settings and then do a memory test to ensure that your modules are stable.