I don't know for sure what is the cause of the problem you're facing, but I
once experienced something similar with the standard Trisquel disk image. I
don't use Libreboot, but here goes my suggestion:
Try using GNU dd to write to the USB device directly. "What's the
difference?"
At least when testing with the standard Trisquel disk image:
dd if="[Path to disk image.]" of="/dev/sdb[Any existing partition number.]"
sync
... produces a corrupted live USB. And...
dd if="[Path to disk image.]" of="/dev/sdb"
sync
... produces a working live USB.
Perhaps this happens because the disk image was already made with the master
boot record inside (which skips the SysLinux installation step and the MBR
installation step).
Besides, for those using the "usb-creator-gtk" or similar packages, I've
noticed a great gain on speed when initializing the live USB done directly
with GNU dd than when using these packages. I do of course know the
advantages of using these packages, which is related to being user-friendly
(which I also prioritize) and being able to reserve some persistent partition
to te average user to save important things. :D