I don't use CArchive ... but this looks suspect to me:



CSequence* pSequence = NULL;

ar >> pSequence;


Did you just archive a memory location ? Or a CSequence object ?