Hi byghy,
Not sure if it will work, but have you tried increasing the POST delay setting in the BIOS? It may be that the motherboard BIOS is trying to access the SATA controller before its BIOS has loaded. You can try setting the POST delay quite high initially, (e.g. about 30 seconds or so), to see if you still get the random boot ups. If it seems to make a difference then just reduce the POST delay enough for it to boot reliably.
The random nature seems curious.