есть ли смысл использовать простые чар массивы формата char name[32] или динамические массивы char name[] в замену указателям с последующим выделением им памяти?
Я думаю, что никто вам обоснованно не ответит на вопрос в такой постановке, поскольку нам ничего неизвестно о природе ваших данных.
Утечки памяти можно искать valgrind'ом, это в большинстве случаев легко и приятно.