Es una que me construí hace tiempo para salir del paso, por tener el mismo problema que tú:
Código Delphi
[-]
function ValueFromIndex(TS:TStrings; Index: Integer): string;
var
Str:String;
begin
if Index >= 0 then begin
Str := TS[Index];
Result := Copy(Str, Length(TS.Names[Index]) + 2, MaxInt);
end
else begin
Result := '';
end;
end;
En mi caso, cuando la sustituyo por la existente utilizo DEFINES más o menos así:
Código Delphi
[-]
{$IFDEF VER140}
MiProc(Campo1, ValueFromIndex(ListaC, Indice)); {$ELSE}
MiProc(Campo1, ListaC.ValueFromIndex [Indice]); {$ENDIF}