В .h объвлены 2 сокета.
QTcpServer *m_serverSocket;
QTcpSocket *m_currentServerSocket;
При запуске программы оба уже не имеют не NULL значения. Соотвественно в нужном месте проверку на NULL проскакивают. переменные нигде не инициализируются до прохождения этой проверки. Может как-то нужно инициализировать поля?
if(!m_currentServerSocket)
{
......
}
Почему?

Давно не программировали на C++. Так что сильно не пинайте.

В ВУЗе писал на BC++B 5, 5.5, 6, VC++ 6 и никаких проблем с указателями не имел.
p.s. Вообще удивило отсутствие NULL как такового. Буду рад, если кто-то сможет кинуть ссылкой по поводу корректной работы с указателями в Qt4.