My initial reply would be that you have an ACPI issue that prevents the system from shutting down or rebooting properly, but if you’re able to accomplish it by disabling halt.local in the script, that’s bizarre. Halt.local should be an empty wrapper file for any custom commands that need to be executed at shutdown, halt (no .local) is the script that does the shutdown. Can you post the contents of /etc/init.d/halt.local ?