$arSqlWhere[] = $key."='".$DB->ForSql($value).[];
вот косяк
на кой черт делать вот так .[]?
здесь сказано массиву превратится в строку, что он и сделал, а чуток до этого $key."='", мы наблюдаем лишнюю одинарную кавычку которая не имеет закрывающейся подруги
Итог
' равно '
$value равно строка N
[] равно строка Array
в результате 'NArray
Пиши вот так глядишь поможет
$arSqlWhere[] = $key."='".$DB->ForSql($value)."'";
или
$arSqlWhere[] = $DB->ForSql($key."=".$value);