1. Это не ошибка, а предупреждение (Warning). Означает, что модуль (FileCtrl в данном случае) предназначен только для работы под Виндой.
2. Используй правильную функцию:
Код:
FullFileName := IncludeTrailingPathDelimiter(Path) + FName;
3. Скорее всего, ошибка либо в другом месте, либо ты что-то передаешь не то. Например, у тебя пустой параметр Path (пустая строка), что приводит к ошибке доступа к "последнему" символу.