I valori 'anomali' che hai segnalato erano dovuti al fatto che cancellavi i nodi ma dopo non collegavi quelli dispari tra di loro .
Ecco il codice della funzione modificato .

codice:
Tipo_lista cancella_tutti_pari(Tipo_lista l)
{
 Tipo_lista Prec, Succ,Tmp;  // inserita una nuova variabile Tmp
 Prec = NULL;
 Succ = l;
 if (Succ == NULL)
  return l;
 while (Succ != NULL)
  {
	if (Prec !=NULL)        // modifica
	Tmp  = Prec;            // modifica
     if (Succ->Value %2 == 0)
        {
         Tipo_lista Temp = NULL;
          if (Prec == NULL)
             {
              Temp = l;
              l = Succ->Next;
              }
          else
              {
              Temp = Succ;
              Succ = Succ->Next;			  
              }
			free(Temp);	   //	modifica
			Tmp->Next = Succ;  //   modifica
         }
       else
         {
         Prec = Succ;
         Succ = Succ->Next;
         }
   }
     return l;
 }