Some BIOSes are able to load pxegrub but then report 'No Ethernet Card Found' error. I was getting this error on my test machine (ASUS M3N78-VM motherboard with AMIBIOS). I have found a great explanation and solution here:
You can find pxegrub I have compiled from OpenSolaris sources some time ago here. I have commented out gateA20_set() call in netboot/undi.c file before compiling.