Oltre a quanto già evidenziato da Oregon, la logica del codice è gravemente errata e inutilmente complicata. Peraltro è anche incoerente con la convenzione di ritorno della funzione Palindroma() che tu stesso hai scelto.
Un secondo array non è affatto necessario, ma anche nel caso in cui lo fosse, la copia delle stringhe dovrebbe avvenire con funzioni come strcpy() o strncpy().
Tra l'altro, lavorando in C è opportuno evitare la sintassi C++ per la dichiarazione in-place della variabile di induzione nella for().
    unsigned int Tot_palindrome = 0;
    unsigned int i;
    ...
    for (i = 0; i < 4; ++i)
    {
        if (1 == Palindroma(s[i]))
        {
            /* Qui si incrementa il contatore e si scrive direttamente la stringa nel file */
            Tot_palindrome++;
            fprintf(...);
        }
    }
Il testo del problema, come riportato, è comunque ambiguo e non specifica esplicitamente di scrivere nel file le 
sole stringhe palindrome, anche se questa è la tua interpretazione.