Проверка на равенство не работает, потому что сначала нужно привести к строке и выполнить соответствующее сравнение строки.
, например
if (string.Equals((string)i, ".ftpquota", StringComparison.Ordinal))
Если вы удалите элементы из коллекции элементов во время итерации по коллекции, у вас вполне могут возникнуть проблемы. Один из способов обойти эту проблему - начать с последнего элемента и считать в обратном порядке, поэтому любые удаления, которые вы делаете, не влияют на остальные элементы коллекции, например,
for(var i = listboxFiles.Items.Count - 1; i >= 0; --i)
{
var item = listboxFiles[i];
if (...)
{
listboxFiles.Items.RemoveAt(i);
}
}