apm might well be the culprit. Have a look at the append line in lilo.conf and if you find apm=power-off or some such, remove it or change it to noapm, run lilo, reboot and check if you still can power down

Most modern bioses use acpi anyway so apm isn't needed. http://www.anandtech.com/guides/viewfaq.html?i=116
If your bios is acpi capable and you compile your own kernel, I'd suggest removing apm support and only leaving support for acpi. Also check the bios options.
Perhaps also try disabling PnP OS from the bios.