My key fob stopped being recognised by the ignition properly, so basically the immobiliser would come on sometimes leaving me unable to start the car! What a drama that was! lol I had to get a new key, and couldn't stomach the £150 for a new remote fob, so now have a non-remote key.
It’s easy to change the battery in a fob, so i presume you've done that. You can pretty easily open the key up and take a look at the button on the circuit board to see if it’s dirty/stuck. But this being a Punto you'll likely find there's no fixing this, other than getting a new key.