The commands above are pretty much everything that I know for troubleshooting WMI.
In Vista / Win7 there's 2 additional commands that automate some of the above manual commands:
Winmgmt /verifyrepository
Winmgmt /salvagerepository
You first run the verify command and it will tell you if the database is consistent, or inconsistent. If inconsistent, you run the salvage command and it tries to fix it.
I suppose you could just jump right to the salvage command in your script, but it's good to know the verify command as well if you are trying to find root cause.
You might also get some more ideas from the technet forum, as the answers forum is more consumer focused.
Kevin
If you find that my answer was what you were looking for, please remember to click the "mark as answer" box below!