The e6420 has twice the cache, 4mb instead of 2mb but it's a lot slower. It's also 3yrs older than the pentium e6600. I'd go for the e6600. Higher cache size is nice but not worth taking a speed hit from 3ghz to 2ghz. Both are dual core with the same 1066 speed bus.
The core 2 duo in this case would be a step backwards, not an improvement. Keep the e6600.