You beat me to it, I need to learn to type faster :)
First, some nitpicking:
Don't use hard code numbers for character constants
39 should be '\''
97 should be 'a'
Note that uppercase letters will crash the program. Always range check after converting external input to array index, e.g.
index = currChar - 'a';
if ( index < 0 || index > 25 )
return false;
Now for the meat:
The code creates a new node when it detects a NULL node. However, it does not store the pointer to the new Node in the parent Node. Therefore, the pointer in the parent Node will always be NULL.