Actually, after some digging in, I found the source of the bug (it's still a bug in my opinion). It seems that LogParser will not display any keys that do not have values inside them (even if they have other keys inside them).
Here's an example of my registry (exported via regedit):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\MyKey]
[HKEY_LOCAL_MACHINE\SYSTEM\MyKey\Key1]
"Value1"=""
[HKEY_LOCAL_MACHINE\SYSTEM\MyKey\Key2]
[HKEY_LOCAL_MACHINE\SYSTEM\MyKey\Key3]
"Value3"=""
And here is the LogParser query....note that Key2 is missing from output:
C:\Program Files\Log Parser 2.2>LogParser.exe "select Path, KeyName, ValueName from HKLM\SYSTEM\MyKey"
Path KeyName ValueName
---------------------- ------- ---------
HKLM\SYSTEM\MyKey\Key1 Key1 Value1
HKLM\SYSTEM\MyKey\Key3 Key3 Value3
Statistics:
-----------
Elements processed: 2
Elements output: 2
Execution time: 0.02 seconds