Actually nearly all critical sections in Wine are initialized statically. This improves performance, and avoids having lots of "init" functions called all over the place. I'm not convinced it's worth changing that just to be able to build a list of sections.
It also lets you name them more easily which is *really* handy. I don't recall ever seeing an API to name a created critical section though I'm sure one must exist.