Архивация должна идти только в БД - в файловом архиве замещение работать не будет. Поэтому настройте хотя бы архивацию в Firebird встроенный (он в с февраля бесплатный).
Для MSSQL можно изменять старое значение или добавлять старое значение таким образом. В секции Using:
using MasterSCADA.Archive.Data;
using MasterSCADA.Archive.Data.Cache;
using MasterSCADA.Archive.Data.Filters;
using MasterSCADA.Archive.Data.Providers;
var pinCache = (PinCache)pinHlp.DataArchiveItem.ArchiveItem;
pinCache.Provider.AddWriteRec(pin.ArchiveItemHandl e, new PinValue[] {value}, DataProviderBase.WriteOp.Change, FixedArchiveLayers.LayerRawData);
pinCache.ClearData(); //Сброс кеша
Если уже есть значение с данной меткой времени, оно будет заменено, если нет - добавлено, но есть нюанс: время должно быть указано в промежутке уже существующих значений.
Пример проекта в приложении.