So perhaps I have a nasty bug somewhere
I brought up the second board we had built up fortunately everything pretty much just worked - getting spoiled with that happening twice in a row

It still produces the same nonce on your test hash zefir (and it's consistent at a range of clock rates from clock_mux set (12Mhz) to the default PLL at 800Mhz) so I'm pretty sure whatever I'm doing to get this result is outside of the chip.
I have a raspberry pi that should come in tomorrow. When that's here I can hook it up to the spi test headers and validate it against your driver.
In the meantime I cobbled together a really quick and dirty driver for cgminer (based of your bitmine driver) that talks to the micro controller on my board via a UART. It then sends down one item of work and waits for a response (not very speedy!). I get this sort of result in the cgminer logs:
[2014-02-17 18:30:33] BMH_scanwork: nonce=0xbe72021b
[2014-02-17 18:30:33] Proof: 00000000a670e9d47f911dbe284736a57bb18608989637e1d99b81c8eb3fc1b0
Target: 0000000010000000000000000000000000000000000000000000000000000000
TrgVal? no (false positive; hash > target)
[2014-02-17 18:30:33] Share above target
[2014-02-17 18:30:33] YEAH: chip 0: nonce 0xbe72021b
Is this correct? Should the final hash be below the target (the "false positive" comment is unclear to me). Guess I need to learn more about cgminer

Thanks for any suggestions!