This bug is pretty old, but for what it's worth I think this bug has been fixed upstream with sysvinit-2.91. It now allows the system to fall back on using another method of checking runlevels if utmp is not available or corrupted. - Jesse