I thought that insmod was used when installing from somewhere other than the /lib/modules path. Of course, I could be wrong.
You could try:
modprobe e1000
which should use the module in the /lib/modules path
and or try:
insmod /lib/modules/2.6.9-5.Elsmp/kernel/drivers/net/e1000/e1000.ko
and see what that says.
I presume that there is no other previously loaded e1000 module on the system at the time?
You could I suppose also strace the insmod command and see just what file(s) it does try to open - at least I think it will try to open some files, it could I suppose punt the whole thing to the loader.
there is no rest for the wicked yet the virtuous have no pillows