Если процесс убит, то исполняемый файл будет освобожден для обновления. В качестве альтернативы использованию taskkill вы можете использовать pskill от sysinternals, но taskkill должен отлично работать с параметром / IM.
Однако ни pskill, ни taskkill не будут ждать остановки процесса перед возвратом управления. Так что вам придется следить за процессами, чтобы убедиться, что они больше не работают.
Кроме того, и это было бы моим предпочтительным решением, можно развернуть приложение vb6 с помощью однократного нажатия, что автоматически обновит приложение новыми выпусками. Проверьте эту статью для деталей.
Что касается ресурсов, открытых процессом, то возможно, что они могут оставаться открытыми (например, соединение SQL), но, скорее всего, они будут успешно закрыты. Вы сможете точно знать, только наблюдая за тем, что происходит, тестируя Taskkill на этом процессе.
Надеюсь, это поможет.