No mire (ni lo hare) el resto del codigo pero el error (que es muy evidente) es no hacer el casting necesario, el tipo devuelto por malloc es void* y tu variable es del tipo de datos del arbol (en C funcionaria al ser solo un warning). ¿Lo escribiste vos?
Código:
treePtr = (TREENODEPTR*)malloc(sizeof(TREENODE));