gpsmikey:
I had a crystal some time ago that started to do strange things - sometimes frequency was right others, way off. Turned out it was cracked and being held together by the metalization on both sides. Sometimes it would operate at the designed frequency, others at the frequency of one of the "chunks" - like you, took a while to find it.
I will cut it off and examine physically, I cannot see any crack. Btw, when I plug it in back, LEDs on power on blinks , but very slow, it seems to me 1Hz. Before I cut it off, I will provide couple of test actually to determinate what freq is exactly now or is it drifts widely due work.
I have made two identical testing boards with double headers (often use 2 SPI devices), both with 16MHz, not soldered, in order to test with different freq (PAL project etc) - headers are pro ("gold-plated") to avoid any corrosion issue, and 2x 22pF caps. So that was the first part simply pulled up and replaced with a new one. That was enough for device to start to work correctly. All covered in plastic case (not hermetically). This board where failed is used once in the week, the second one daily and it never fail.
When iron solder (soldering station) as well homemade PCBs, temp is ~185C (60-40, 0.5cm tinol wire), 1-2s per join. I starting with headers, resistors, capacitors and other ICs. The 328p is in DIP package. Noting to worry about, after 6 years of experience with PCB homemade process. Capacitors are all extra low ESR and bypass polyester type or similar, not ceramic (except 22pF)
There is nothing special with device, when acquiring satellites, it start with max 100mA and ~75mA until fix, after which all require ~50mA.
As I wrote in one of my prev. topic about using 8MHz for 2560, the datasheet of 328p is unclear about oscillator freq with 3.3V. The graph is not precise enough to extrapolate required freq. On other hand, that info for 2560 is clear. After many tests (SPI, UART), all shows that 16Mhz with 328p is safe to be used with 3.3V, at least these I need. That cut out many parasitic ICs necessary with 5V, as level shifters in order to extends battery life. Device with all power on (including constant logging on SD card) may run continuously 40 hours with 3AA fully charged 2500mAh NiMH batteries.
All in all, there is nothing I can point is a reason for failing, more because it is used once in a week only.