Hai scritto un sacco di codice per una funzione semplice per cui bastano una decina di righe di codice.
Lo puoi fare ricorsivamente(più elegante) o iterativamente.
Se lo fai iterativo, ti basta stare all'interno di un ciclo while dal quale esci se trovi una coppia di lettere che non soddisfano(in questo caso ti metti a true un booleano ed esci). Se invece arrivi fino in fondo(e quindi non hai modificato il booleano) la parola è palindroma......