Если Delphi сообщает, что переменная не используется, скорее всего, это так.
Компилятор чаще всего анализирует, есть ли обращения к данным внутри переменной и на результате этого анализа решает, нужна ли переменная в коде.
Пример1:
var
a: boolean;
<...>
begin
a:= false;
<...>
a:= true;
<...>
end;
Здесь к переменной не обращаются и она (с точки зрения компилятора) бесполезна.
Теперь так:
var
a: boolean;
<...>
begin
a:= false;
<...>
a:= true;
<...>
return a;
end;
А здесь значение переменной будет возвращено и ВСЕ операции с ней останутся.
Собственно, никак иначе.
Либо используйте переменную в коде, либо её удалит.