The function TParams.function ExistsParam(const aParam : string) will only search using the default ValueSeparator "=".
My fix would be to add a second parameter to the function:
function TParameters.ExistsParam(const aParam, aValueSeparator : string): Boolean;
var
param : TParam;
begin
param := TParam.Create;
param.ValueSeparator := aValueSeparator;
param.Name := aParam;
param.Alias := '';
try
Result := ExistParam(param,param.Name);
finally
param.Free;
end;
end;