I change the diecimila.bootloader.high_fuses=0xdc value, this is the board I select in the IDE (I have a Freeduino Serial 2.0) then burn the bootloader with the parallel programmer and it worked...
My parallel programmer looks like the one on the Arduino web page, a DB25 with 5 wires and taped plugs at the end
Changing the value means the chip monitors the voltage and if it goes below 4.7V, the chip will reset instead of continuing to operate (and do strange stuff).
Also it seems the problem comes not at switch off, but when you switch on, meaning that when you power up, the chip will start to execute code when voltage was greater than 2.7V which is too low for 16MHz, see chip spec in the PDF.