the default critical section doesn't work. here is a working one with test map. pretty small lib.
If I swap your new critical section with the built-in one I get the same behavior, so I think it works for me?
strange, just tested it. you are right. it didnt work for me in the past.