Как вы вставляете и удаляете изображения? Можете ли вы опубликовать код?
Все теги работают с использованием интерфейса IPicture, а также методов получения и установки тегов Tag.Pictures. Изменение содержимого массива Tag.Pictures не окажет влияния на файл, поэтому изменение существующего списка включает получение текущего значения, манипулирование им, а затем его установку обратно. Просто установить или очистить изображение проще.
Вы можете установить для файла одно изображение с помощью:
IPicture pictures = new IPicture[1];
pictures[0] = new Picture("path/to/picture.jpg");
file.Tag.Pictures = pictures;
Вы можете удалить все изображения из тега со следующим:
file.Tag.Pictures = new IPicture[0];
file.Save();
Манипулирование или более сложное, но придерживающееся тех же взглядов. Было бы лучше, если бы Tag.Pictures был IEnumerable вместо массива, но то, что сделано, сделано.
Вот пример программы, которая устанавливает изображения из аргументов командной строки: https://github.com/mono/taglib-sharp/blob/master/examples/SetPictures.cs