И так, борьба продолжается.
1. Сделал через -d UNICODE в проекте. Код при дефайнах меняется, значит параметр отрабатывает, но не компилируется из-за других ошибок в Инди.
2. Начал разбирать код. Увидел, что в IdStackWindows в коде 
- Код: Выделить всё
 function ServeFile(ASocket: TIdStackSocketHandle; const AFileName: string): Int64;
var
  LFileHandle: THandle;
  LSize: LARGE_INTEGER;
  {$IFDEF STRING_UNICODE_MISMATCH}
  LTemp: TIdPlatformString;
  {$ENDIF}
begin
  Result := 0;
  {$IFDEF STRING_UNICODE_MISMATCH}
  LTemp := TIdPlatformString(AFileName); // explicit convert to Ansi/Unicode
  {$ENDIF}
  LFileHandle := CreateFile(
    {$IFDEF STRING_UNICODE_MISMATCH}PIdPlatformChar(LTemp){$ELSE}PChar(UTF8toWinCP(AFileName)){$ENDIF}, <--- здесь
    GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); 
если имя файла преобразовать через UTF8toWinCP(), то файл находит.
В своем коде конвертировать имя файла нельзя, так как по пути отработки в модуле  iDIOHundlerSocket 
- Код: Выделить всё
 function TIdIOHandlerSocket.WriteFile(const AFile: String;
  AEnableTransferFile: Boolean): Int64;
//TODO: There is a way in linux to dump a file to a socket as well. use it.
  {$IFDEF WIN32_OR_WIN64}
var
  LOldErrorMode : Integer;
  {$ENDIF}
begin
  Result := 0;
  {$IFDEF WIN32_OR_WIN64}
  LOldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);
  try
  {$ENDIF}
  if FileExists(AFile) then begin  <---- здесь
    if Assigned(GServeFileProc) and (not WriteBufferingActive)
     {and (Intercept = nil)} and AEnableTransferFile  
FileExists(AFile) после преобразования не находит.
Но проблема еще не решена, так как коряво подставляеться общая информация в заголовок ответа сервера. Разбираюсь дальше.
Или у кого-то есть заведомо-рабочий код без изменений кода Инди?
Добавлено спустя 2 часа 17 минут 50 секунд:Решил проблему по другому.
Так как проблема с уникодом єто не так проблема Инди, как проблема стандартов веба, то решил работать с файлами в виде  Percent-encoding. На диске храню в таком виде, и пересылаю в таком виде. А саму информацию о файле отдаю уже в юникоде.