CriticalSections sind ja auf unterer Ebene eine Systemstruktur, welche durch die
WinAPI zur Verfügung gestellt wird. Diese Linked List, die du da parst, befindet sich im PEB (Process Environment Block) jedes Prozesses. TCriticalSections ist nur die von Delphi gekapselte Variante. Intern wird
InitializeCriticalSection aufgerufen, was zur Folge hat, dass die CS automatisch auch in der besagten LinkedList im PEB eingetragen wird. Natürlich landen in dieser Liste folglich auch alle die CriticalSections, die nicht über die gekapselte Delphi Klasse erzeugt werden.
Wenn du wirklich alle von dir selbst erstellten CriticalSections ermitteln willst, solltest du dein Programmkonzept überdenken und am bessten eine globale Liste oder sowas in der Art anlegen.