I'd say your problem is more of a distro issue,
in that the method you are using to shutdown
is not actually requesting "poweroff".
That last mess above ("System halted.") comes from kernel_halt(),
rather than the expected message ("Power down.") from kernel_power_off().
So, try using the "poweroff" command instead of "halt",
or try using "halt -p". If neither of those work,
Well it works ok with 2.6.22 powering off and saying so right before
powering off, with some references to ACPI. On 2.6.23-rc8 however it doesn't
seem to get that far.
I have followed the poweroff of my distro (Debian unstable) and on getting
to the end of rc 0 it calls halt with options -d -f -i -p. So it does call
it with the -p you asked for. BTW, this halt comes fom Debian's sysvinit
version 2.86.ds1-38.1 in case that matters, but as I said it is working ok
for .22.
then edit /etc/init.d/halt and hardcode the "-p" parameter
inside there onto the "halt" command line(s).
That init.d/halt is the one that is calling halt with -d -f -i -p already.