I just remembered.. During my e-mail blackout I discovered that the 440bx code sets up the smbus base address at 0x1000. Which is also the IO address that the PCI code starts allocating from.
Causes all manner of subtle problems.
I changed my version to allocate smb at 0x500 but the right solution may be to reserve a range for chipset IO that the PCI allocator will not use.