Oh noooo! I've got my own crossed B, and I'm panicking a bit as I need the car on Monday!
I know what kicked it off - I was a moron and wasn't careful enough drilling in my wheel well; caught a couple of wires from the loom right under the main fusebox (red/orange, yellow/grey, and ground). Car was fine before that - I'd literally driven it just an hour before - so I presumed not the fusebox and went straight to get my BCU to callrova, assuming I'd blown it. They refurbished it and tested it over the weekend, and it arrived back today. Plugged it back in, reconnected the battery, left it for 45 minutes, and still crossed B.
So I've now ripped out the interior fusebox, pulled the back off, and there's clearly water damage, so I'm sourcing a replacement ASAP. But if that doesn't work too, what next? Could the wires shorting have just exposed that the IDM was ready to go and pushed it over the edge, or could I have caused something else?