praticamente facciamo un esempio:

la parola è "aboba" x esempio.
avrai che la lunghezza L è 5
e con un ciclo x scandirla avrai

for (i=0; i<(int)L/2 i++)

dirai che significa (int)L/2 ???
significa che faccio il controllo silla PRIMA META' della parola, che confronto con la SECONDA META'. Quindi da 0 a (int)L/2 ci sarà la prima metà.
In una parola di 5 lettere, andrà da 0 a 2(escluso) perchè

(int)5/2 = (int)2.5 = 2

In una parola di 8 lettere, andrà da 0 a 4(escluso) perchè

(int)8/2 = (int)4 = 4

Quindi avendo la prima metà confronti ogni carattere I con il carattere L-I-1 (meno uno perchè le stringhe in c++ vanno da 0 a len-1)
quindi confronterai:
0 con 4
1 con 3

fine

In una parola di 8 lettere confronterai:
0 con 7
1 con 6
2 con 5
3 con 4

quindi poni una variabile flag che all'inizio vale true (è palindroma) e se nel ciclo non viene verificata una uguaglianza, diventa false.

codice:
int L = strlen(parola);
bool FLAG=true;

for (i=0; i<(int)L/2; i++)
  if (parola[i] != parola[L-i-1)
    FLAG = false;

if FLAG
  //palindroma
else
  //non palindroma

Spero di essermi spiegato....


P.S ho modificato un pò il codice che tu ho dato che così è meglio...