Greg,
Recomendamos não usar o Win32_Product, se você puder evitá-lo. Primeiro, é muito, muito lento. Segundo, e mais significativo é que você pode estragar seu sistema:
A classe Win32_Product funciona enumerando cada pacote MSI instalado no sistema. Quando um pacote é tocado, ele executa uma reconfiguração onde o aplicativo é validado (e reparado se for encontrado inconsistente com o MSI original).
Isso pode ser um grande problema se você tiver aplicativos que foram configurados após a instalação (ou seja, os serviços desativados anteriormente podem ser reativados, etc.)
Como alternativa, você pode fazer uma pesquisa em um determinado arquivo e verificar sua versão para ver se um aplicativo está instalado. Aqui está um link para uma postagem do blog que eu fiz descrevendo a técnica (e também tem um link para um artigo de Darren Mar-Elia discutindo Win32_Product):