I recently bought a 03 plate fiat punto from a local garage. I had a similar problem with it not starting in cold weather. I took it back to the garage explaining the same symptoms. They kept it for a few days, running tests and reading the computer on the car to see what was wrong. It said nothing was wrong. They replaced spark plugs and some cable linkages for the accelerator and nothing happened. They booked into a fiat dealer garage and they only found the problem out because they had had the same problem in another car the week before. It took them a week to figure it out.
The problem with mine was that the wrong starter motor was fitted to the car, which was confusing the onboard computer. Once they changed the starter motor for the correct one (apparently there are two types made for that car - and it seems only one works!)
Since it was replaced the car starts perfectly everytime - fingers crossed!!
Hope this helps
Tom
December 2006