metti ancora degli asterischi di troppo
Non devi porre a NULL i valori, ma i loro puntatori...
un funzione ricorsiva semplice che rispetta un po' tutti gli std può essere questa

codice:
void elimina(TREE p_T){
     if(p_T==NULL)
                  return;
     
     elimina(p_T->left);
     elimina(p_T->right);
     
     free(p_T);
     p_T=NULL;  
}