Ya olvide porque a mi tb me pasaba eso tiempo atras xD! Pero te recomiendo que en el main de tu programa agreges un delay antes de inicalizar el ds1307 y habilita el fusible PUT si es que lo tienes. Lo que pasa, creo recordar, esque el voltaje no llega completamente a 5v por lo que el ds1307 se mantiene apagado o algo asi... revisa tu fuente pues el ds1307 trabaja de 4.5 a 5.5v, asi de jodido xD Sino, has un bucle hasta que los datos que tengas sean correctos... es decir, que año es -1? Se ntiende? Yo hice algo asi tambien.
Porcierto, no olvides el condensador 104 en el pin 8 del rtc y el electrolitico tb para que se mantenga el voltaje, alguna ves pense en ponerle un condensador electrolitico exclusivo al rtc por ese problema atravez de un diodo de silicio (esos de 0.2v) pero lo arregle con el bucle que te comente.
Ah! y si el pic que usas es el 18f2550, pues el problema es obvio (C3 y C4 ???) xD!
Suerte.