I'm having a bizarre problem, and it seems I'm not alone.
On a Dell Latitude 13, I get the error message "internal hard disk drive not found" during POST.
Yet, if I take the very same hard drive and connect it via a USB drive dock, it boots just fine.
There were clear (now apparently unrelated) problems with the motherboard on this laptop, so I have replaced it. I have also replaced the SATA controller daughterboard.
It seems there are others facing this issue, but I don't see a solution. In fact I'm having trouble even understanding what the problem is.