Сценарий technet, на который вы ссылаетесь, прекрасно работает под Win 7 (с Python 2.5 32bit), и я действительно не могу понять, почему он не должен.
На самом деле, реальным недостатком подхода WMI является то, что в нем перечислены только продукты, установленные через установщик Windows. Так что это не даст вам полный список. Многие программы используют разные установщики. Просто сравните результаты между (Выбрать * из Win32_Product) и тем, что отображается на панели управления. Так что, если вы не уверены, что программа, которая перебивает вас в вашем списке, установлена с MSI, WMI определенно не является ответом.
Так что это может быть не очень питонно, но, насколько я знаю, лучший способ - использовать реестр, как вы и сделали. Именно так работает панель управления, поэтому, по крайней мере, Windows считает, что это самый надежный способ сделать это.