Encontrei sua pergunta porque tive um problema semelhante.
No final, alterei a descoberta no Visio para usar uma chave do Registro, gerou o MP e, em seguida, editei o XML resultante para remover a descoberta baseada em registro e substituí-la por uma consulta WMI.
No meu caso, eu queria descobrir a função do servidor de impressão (ID = 135), então a descoberta que usei foi esta:
<Discovery ID="My.Management.Pack.Discovery.Print.Server.Seed" Enabled="true" Target="Windows!Microsoft.Windows.Server.Computer" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="My.Management.Pack.Class.Print.Server.Seed">
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryRelationship TypeID="Windows!Microsoft.Windows.ComputerHostsLocalApplication" />
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.WmiProviderWithClassSnapshotDataMapper">
<NameSpace>\$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$\ROOT\CIMV2</NameSpace>
<Query>
SELECT Name FROM Win32_ServerFeature WHERE ID=135
</Query>
<Frequency>14400</Frequency>
<ClassId>$MPElement[Name="My.Management.Pack.Class.Print.Server.Seed"]$</ClassId>
<InstanceSettings>
<Settings>
<Setting>
<Name>$MPElement[Name="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Name>
<Value>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="System!System.Entity"]/DisplayName$</Name>
<Value>Print Server Seed</Value>
</Setting>
</Settings>
</InstanceSettings>
</DataSource>
</Discovery>