
And just to recap, rebooting a RAID comprising of /dev/sd[abcd]3, when /dev/sda3 is being rebuilt, results in a boot that drops into the initramfs shell because it appears that mdadm tries to add /dev/sda3 first then rejects the other 3 disks because they say /dev/sda3 is inconsistent (which it is).
This is all fixed now. The problem was that the mdadm superblock was 0.9 and because the total /dev/sd[a-d] disk sizes were an exact multiple of the partition granularity, mdadm could see the superblock in the right place (end of disk for 0.9) on both /dev/sd[a-d]3, and /dev/sd[a-d], and got quite upset when it used /dev/sd[a-d]. I shrunk the partitions a bit and zeroed the /dev/sd[a-d] 'superblock' that was leftover and it boots cleanly every time now. The 'when /dev/sda3 is being rebuilt' was a red herring - that just happened to be the case each time I booted. Also, I think I asked somewhere if you could store data in the bios boot partition too. It doesn't work as grub-install stomps all over your data. James