Free Pascal is not a magic wand that makes fundamental differences between OSes disappear. Threading, unicode and dynamic linking are some of the pain points.
What it does do is that it is a bit easier to crosscompile specially for non *nix systems due to the internal linker. However if you start linking static libraries from other languages, the internal linker might not support everything.
Also, the current release versions of FPC don't support Windows 9x. Moreover while older NT (2000,XP,Vista,W7, W8) are probably mostly still working with release versions, but with ever more unicode and threading expansion that will hit a limit someday too, oldest first. Maybe not such a problem, since an older FPC (3.0.2?) needed for win9x can also be used to service older NTs.
I've never heard of Kade Dos (and a quick google doesn't help, maybe because Kade is the dutch word for quay), but whatever dos or dos extender (maybe with the exception of WDOSX), doing any form of shared linking will be non existent for the most.
Cross Unix compatibility of binaries is low, and crosscompiling for Linux requires libraries on host, so you would have to target each major version of Debian separately, either by VM or cross setup.