Strange things happen sometimes !
I have replace the entire setup with a new Arduino and a different shield for DS1307 this time a Duemilanove. Same thing: when the metal halide lamp came on in a matter of a few minutes the time went briefly to 00:00 and the light turned off. The next second the time was displayed correctly.
Next, I disconnected the metal halide SSR from the MCP23017 and fed it directly with a digital pin from Arduino. Same thing: when the metal halide lamp came on in a matter of a few minutes the time went briefly to 00:00 and the light turned off. The next second the time was displayed correctly.
The last thing that I can do is to replace the SSR with a mechanical relay. Let's hope this will work because I run out of hardware ideas

Another way will be to control the metal halide ballast in a different way in software. Some thing like check for start time and if the answer is true start a timer in a countdown fashion. Is there any library that can do this ?
cheers,
MaLi