And even more "funily", glibc doesn't deal with file system implementation (i.e. the persistence of the change) at all. In fact, that very page you pointed to states that strange things may indeed happen after a crash.
The atomicity of rename() refers to a view from the running system and not much else. But it has sure been misread a lot :-)