Look at Adam Sulmicki's ADLO work, he did something very similar to this.
I currently use ADLO so I might be able to answer your questions.
I've only sucessfully booted linux via LILO under ADLO. I mostly use ADLO to get the video bios up and going.
I've tried to boot a MSDOS compact flash but it seems to hang somewhere so I didn't progress any further.
I don't see any reason that ADLO sould not be able to boot FreeDOS. ADLO is a deriative of the bios from the bochs project so if you can get bochs to boot FreeDOS or MSDOS then the same should be possible under ADLO.
At one point I tried to sync up ADLO with the current version of the bochs bios but it would not boot. The IDE routines in ADLO seem to be more correct than the stock stuff in bochs.
ADLO is currently only in V1 but I don't see any reason why it wouldn't work in V2 as well. Its just a payload. One thing about ADLO is that the loader has to be customized to the chipset. The loader has to enable the shadow ram section and copy itself into that range. Since there is no mechanism to do this across payloads you have to do it explicitly in the loader.