I have no USB Protocol analyser at hand
Just to make more tests:
1) Replaced the USB-SATA bridge with a Seagate RSS LLC Expansion Portable board (from a portable external hard disk).
2) Behaviour booting directly (without SD) it is similar. This could be discarding the bridge as the source of the problem.
3) The bin file with the TIMEOUT on the SD card, doesn't work.
4) The bin file without the TIMEOUT file on the SD card, doesn't work.
5) To test, I copied all the /boot directory content on the same SD card, and it works perfectly boot after boot.
Of course, in the #5 the kernel is read from the SD card on the booting process. There is something making the SSD device to block itself when booting directly time to time when booting, but the root partition always is ok.
If I can be of help with some particular extra test, just let me know.