the trouble is leaving the Symmetric multi-processing support in the kernel.
Time for another Ricardo Simpson 'Doh!' moment... I was going to say at the last ALUG meet that I had exactly the same problem, until I realised I was booting an SMP kernel, instead of a uniprocessor one. When I switched over, I found that it would power down OK. Oops, could've saved you some time!
Ricardo