seems on first sight they tried to mix syslinux files. I know a thing or 3 about syslinux, and can tell you that you can not do that. But more interesting is to explain why:
The bootstrap is 3 stage, it is to be seen as 1 piece of code, that happens to be split in three parts/stages. The first stage (mbr, 512 ex sig and partition table) doesn't have sufficient room to make it search for it's second stage.. it is hardcoded as lba offset into the mbr. Every time you move files around, defrag, whatever, you must (re-)install syslinux, if only to update the hardcoded offsets.
Secondly, briefly prior to compiling, some python (i think, from memory) script creates an unique hash (4 byte) based on the date. This hash, is used to sign/mark/fingerprint ALL syslinux programs, and most if not all parts actually check that hash.
The reason is that various compilers and settings could compile that one (split into 3 files) section differently, and so to guarantee that all parts work with the other parts from the same compilation run, you can not get binaries/files from any other compilation run (short of hacking in matching hash code, which is actually kinda safe for some programs).
By the way, the tinycore folk managed to compile various syslinux parts smaller than the official binary download offers.