That's not problem. In case IoGetDeviceProperty fails, these values really should be read from registry. This is not implemented yet, but it shouldn't matter because these values are used only by the PCI specific code (which obviously isn't used by the NE2K driver).
HalTranslateBusAddress does use these values though. HaliReferenceHandlerForBus definately needs to see a matching BusNumber.
I should mention that I'm using qemu. I've tried my trusty 32-bit 0.5.5 build, 32-bit 0.6.0, and 64-bit 0.6.0 builds.
It works for me with QEMU 2004-10-09 in ISA mode (I haven't tested PCI mode...). What's the result of "info network" command on QEMU console?
I run qemu as:
qemu -isa -monitor stdio -hda /dev/hdb
QEMU PC emulator version 0.6.1, Copyright (c) 2003-2004 Fabrice Bellard
$ ls -ltr /usr/bin/qemu -rwxr-xr-x 1 root root 756592 Oct 29 16:05 /usr/bin/qemu
(qemu) info network 0: ifname=tun0 macaddr=52:54:00:12:34:56