После краткого ознакомления с доступной документацией кажется, что WMI невозможно обойти, если вы хотите перечислить существующих точек восстановления.
Windows API предлагает вам только функции для установки и удаления точек восстановления:
MSDN также имеет образцов как использовать эти методы.
Для перечисления существующих точек восстановления вы можете использовать пример кода VBScript от здесь (обратите внимание, что для кода требуется повышение прав в Vista и выше):
Set RPSet = GetObject("winmgmts:root/default").InstancesOf ("SystemRestore")
for each RP in RPSet
wscript.Echo "Dir: RP" & RP.SequenceNumber & ", Name: " & RP.Description & ", Type: ", RP.RestorePointType & ", Time: " & RP.CreationTime
next