This sounds to me as though the device was still expecting to be able to load cabbiev2 at first boot.
I am guessing that after loading the theme manually it "Just Works"?
I can't honestly say that I've had any experience in replacing the default theme in this fashion, frankly, because it makes very little sense to do so. We've tackled this in other posts in the past. I can't for the life of me understand the requirement to embed the theme in the binary when we provide the means to load these assets from emulated or external storage. Doing it this way just makes the binary larger than it needs to be, removes your ability to be able to report errors trivially (any reports must be reproducible with an unmodified binary), and generally creates more work for you for no obvious gain.
If I'm missing something in your use case that makes this a necessity, please do tell me.
[Saint]