Lo primero, antes de entrar en el for, x.arrGuardias ¿tiene algún elemento? No es lo que creas, es lo que veas en debug o en log.
Lo segundo
Cita: **Está metido dentro de un for porque tengo que recorrer el array y si una fecha coincide reemplazarla, pero eso no lo he puesto aqui
Así que tu código decide si tiene que reemplazar o insertar, ¿y no pones ese código a pesar de que tu problema es que no inserta?