FreeDOS isn't 100% MS-DOS compatible, especially when it comes to the memory managers. Anything that uses regular real mode DOS is generally fine, but when you start getting into EMS/XMS and protected mode stuff that uses DOS4G/GW, it gets decidedly less compatible. It also tends to behave strangely if you have more than 64 MB of RAM installed, on top of some DOS programs and games that don't properly detect the amount of memory installed with large amounts of memory present.
I run FreeDOS on my 486 and it's fine for most stuff that doesn't use protected mode or memory managers. What's nice about its real mode, is that out of the box it can reclaim reserved upper memory blocks that are unused. I've had up to 736k of conventional memory available on my 486 with no TSRs loaded, something which is is a bit more difficult to do in MS-DOS. It makes loading conventional memory hungry games like Duke Nukem II that requires 600k a lot easier to do without having to write specific autoexec.bat and config.sys files specifically for the game.