In glibc 2.1 it appears that a daemon, utmpd, is required to do utmp logging. In Rawhide 1.2.7-1.2.9 at least, it does not appear to run by default, so it must be manually started for any user logging to occur. Perhaps it should even appear in /etc/inittab w/ respawn to prevent it from being killed, rather than the initscripts? The approach of logging who is on the system by a daemon seems to be rather suspect to begin with....
Oops! It seems that utmpd is not needed, but the "who" command in the current sh-utils reads /var/run/utmp rather than /var/run/utmpx
utmpd is not needed is you do not have legacy programs that want to write directly to the utmp file.