I'm doubtful that using oldconfig would make a driver not work because I have done it this way for a while, going between various 2.6.x versions, like 2.6.21 to 2.6.24... And there was never an issue. Maybe the E1000 driver somehow got messed up in this particular version of the kernel.
Now, that e1000e driver someone mentioned - how is it different from the e1000 driver, and does the kernel float two versions, or it depends on which kernel it is? Thanks, Denis