Just to note, the above patch wont work properly on squeeze kernel (That is why you may need here black magick with watching sync_completed file, as Alice suggests).
This is fixed in kernel since the commit: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c07b70ad32ed0a5ec9735cafb1aa10b3a2298b7d Seems to be simple, but there is no chance to enter squeeze, right? Attached checkarray (fixed typo) and cron.d/mdadm patches.
checkarray.patch
Description: Binary data
mdadm-cron.patch
Description: Binary data

