I have some more information:
I have "Activate a window by hovering over it with the mouse" set. I think the start button is being treated as a window.
I have noticed that the button operates normally if I hover the mouse over it for a second or two before I click on it. If I move the mouse to the button and click immediately then it opens and then shuts again.
I think what is happening is that when I move the mouse quickly the previous active window remains active during the time I click on the power button. I don't know if this makes sense.
Having to hover the mouse first obviously slows down one's rate of work.