The Solaris 9 (and Solaris 10 GA) e1000g driver is very strange. For some mysterious reason, the driver does not enable bus mastering on the PCI device, and that prevents data from flowing. It appears that the Solaris driver relies on the E1000 card having a ROM and said ROM enabling bus mastering. After VirtualBox started enforcing the BM enable bit, the E1000 driver in old Solaris guests stopped working (unless PXE booting is turned on, turns on bus mastering for the PCI device, and then go to booting Solaris).
Solaris 10 U1 and later does not have this problem. Using the PCnet emulation and the pcn driver is a good workaround for Solaris 9.