I had the same problem with the original Suptronics X850 SSD storage expansion board, but I own several other USB to SATA adapters that work perfectly (cold boot and reboot, with the same drive that did not work correctly on the X850).
Bottom line is, some USB drives (or drive adapters) are not compatible with the Pi boot loader. Some won't work at all, while others have the problem you have found (cold boot works, but reboots do not). Since the boot loader is hard coded into the Pi SoC, there's no fix other than using a different, compatible USB drive.
Your other option is to start the boot process from an SD card then load and run the OS from the USB drive. Try a FAT32 formatted SD card with only the bootcode.bin file on it (copy it from the Raspbian imaged USB drive boot partition or download it from here: bootcode.bin
The bootcode.bin only method will not work reliably if you have more than one USB drive connected. If you have multiple USB drives, or bootcode.bin only does not work, then copy the entire contents of the USB drive boot partition to the SD card.
The above assumes your USB drive was created by writing the latest Raspbian image to it (preferably using Etcher).
My mind is like a browser. 27 tabs are open, 9 aren't responding,
lots of pop-ups...and where is that annoying music coming from?