FreeMiNT is in general very compatible with TOS, but some applications cause problems. FreeMiNT is a multitasking operating system and when several applications run concurrently, they must share system resources (like the screen) between them. The resources are managed by the operating system, and this works just fine as long as all running programs use these resources (like the screen, or RAM) through the operating system.
Some applications, especially older ones, bypass the operating system for various reasons. These applications will not work properly on a multitasking operating system, in worst case it might even crash your computer. Such applications are not suited for a multitasking OS and should be avoided. You can always boot to TOS when/if you need to run such programs.
Another issue is applications that try to access memory belonging to the operating system or other applications. When memory protection is enabled, these applications will be killed by the operating system. Many applications share data by accessing each other's memory, but if they don't declare this memory as shared, there will be problems. However, this can easily be avoided by explicitly telling FreeMiNT to treat the memory belonging to these apps to be shared by default.
And finally, some programs are just not supposed to be used with FreeMiNT. A popular program in this category is wdialog from Behne & Behne. The purpose of this program is to supply TOS with the WDialog AES extensions first introduced in MagiC. This program is not supposed to be used with FreeMiNT, as the functionality supplied by wdialog is already implemented in XaAES.