I think you did a good job of providing relevant details. For instance, the fact that the same image works on a newer machine does indicate that the critical "system files" (IO.SYS and MSDOS.SYS and perhaps the command interpreter, typically COMMAND.COM) may all be in the right locations on the disk (referring to disk sectors, not just filesystem hierarchy). However, I also think we may need even more details to fully resolve this. So, until more are provided, this answer needs to be just a stab in the dark.
Be aware of some size limitations. DOS 6.22 used a signed integer which typically limited FAT16 partitions to 2GB (unlike some Win NT variations which could support 4GB on FAT16). There are a number of other limits that have affected hard drive space, like a limit of around 512 MB (or 528 million bytes) as noted in these resources:
While the code may be loading from the MBR, the code on the MBR may be interpreted differently. The code on the MBR may be relying on the BIOS to read from the disk, and there may be different BIOS capabilities. The "Large Disk" article I mentioned above may discuss some relative limits.
For instance, I remember hitting an 8GB limit on a 486 desktop. Your 386 laptop may be older than that, and the solutions would be to upgrade the BIOS (which typically involved replacing a chip, which might not be attached in an easily removable form) or figure out how to use older equipment.
I suggest that your DOS installation be on a partition using Partition Type/ID 6, not Partition Type/ID E (0xE, 15). 6 will be compatible with more older BIOS versions.
Note: These suggestions are largely based on my knowledge and experience from physically full-sized hard drives. I don't know what complexities get added with using a CompactFlash drive built into a laptop. Systems much newer would often be limited to booting from a hard drive or a floppy drive, and trying to boot from a drive connected to a parallel port, or a USB port, might not work so well. The ability to boot from some other sources, including a USB port, didn't get resolved until some BIOS updates after the Pentium chips were out. I think that booting from a second hard drive may have been hit-or-miss. So maybe your BIOS isn't as cooperative (even though it did find some code to start on the MBR). Unplugging any other disk (like a hard drive) might actually be helpful.
If none of the above helps, I suggest posting more details, like how big your partitions are, what partition types you're using, and whether you get similar results when trying another operating system (FreeDOS sounds like an interesting one to compare to).