Yes the first check is paranoid and actually not needed. I added it just to be overly careful.
On the first run it shouldn't trigger, because m_tcpServer is inited to NULL.

I think just deleting it via parenting is not the best solution, since the failed tcpServer would just stay in memory, even though it will never be used anywhere.