2. Два детекта - ни о чем. Считай повезло.
3. Если программа реально не малварь, пиши рапорты о false positive в эти AV. Ответит робот, мол извините, ложное срабатывание устранено. При этом, скорее всего, сигнатура, по которой палится файл, не будет удалена из базы. Просто его внесут в исключения (скорее всего по хешу файла или что-то в этом роде) и последующие изменения хоть на байт опять приведут к ложному срабатыванию и тогда... читай п. 3 с начала. Это все что можно сделать.
4. Не пытайся найти в своем коде, что ты сделал не так. Ты все сделал правильно. Утрированно говоря, механизм такой: пришел файл в лаборабораторию, прошел через робота. Если нет "железного алиби" - расстрел. Далее просто ждут. Придет рапорт о фэлз позитиве - другой робот снимет фэлз. Не придет - значит точно был вирус.

[flood]Лично у меня при слове "антивирус" возникает стойкий рвотный рефлекс. Это глупая бесполезная вещь, жрущая немалые ресурсы твоего компьютера, изредка совершенно случайно выполняющая свои функции, а чаще матерящаяся на безобидные программы. Тем кто ходит в сеть только чтобы "посмотреть ржаку", "скачать бесплатно без рекламы на большой скорости" и все остальное, что так любят пресловутые 90%, антивирус нужен, ибо эти ресурсы и есть основная среда обитания зловредов (что в свою очередь определяется наличием годной пищи в виде тех самых 90%). Но стоит выйти из этой категории и антивирус становится не только бесполезен, но и вреден. Надо лишь выработать для себя и соблюдать правила "сетевой гигиены".[/flood]