Numis has got the correct solution. If you insert the headset slowly there's an increased chance that it will be detected as simple headphones whereupon you'll receive the message "Default accessory: Headphones. Use phone microphone". If you see this message your headset controls will not work.
I tried going into Settings->Phone->Accessories->Accessory Settings and setting the default to Headset, but this just caused the previous "Default accessory: Headphones..." message to be replaced with a prompt to "Select accessory:" from "Headphones / TV-Out cable / Music stand".
Thanks Numis, inserting the headset connection quickly every time has completely solved this problem for me.
Yes that's right, if I see that pop-up asking for headphone, etc... I just remove the jack again and put it back as fast as I can. You should be able to see the headphone icon on the top once you put it properly.