PathDelim, он же DirectorySeparator -- это разделитель на текущей платформе (/ или \)
IncludeTrailingPathDelimiter/ExcludeTrailingPathDelimiter -- добавляют или убирают последний разделитель из пути.
LineEnding, он же sLineBreak -- перевода строки на текущей платформе (#13 или #10 или #13#10)
Плюс нужно помнить про то, что GUI в Lazarus работает в кодировке UTF-8, и вполне оправдан выбор её в качестве внутренней кодировки строк всего приложения. В этом случае при вызове функций и использовании невизуальных классов из FCL (в основном работа с файлами, типа FindFirst/FindNext, StringList.SaveToFile/LoadFromFile и т.п.) нужно преобразовывать строку из UTF-8 в кодировку операционной системы. Для этого можно воспользоваться специализированными функциями (типа FindFirstUtf8/FindNextUtf8, находятся в модуле FileUtil) или функциями преобразования ( FindFirst(Utf8ToSys(path), ...); ).
Ещё довольно полезная информация есть тут (на английском):
http://wiki.lazarus.freepascal.org/Mult ... ming_Guide