Créditos:
@YolaxD Él fue quien dio la solución a ese problema pero desde otra perspectiva. Incluso la forma de replicarlo es distinta, aunque la conclusión sea la misma.
El problema parece ser que el sistema de ventana WndProc acumula eventos de paquete FD_READ y luego los procesa todos seguidos, haciendo que se desincronice la verificación de serial del cliente. A partir de ahí, todos los paquetes encriptados empiezan a fallar. Es por eso que no te desconecta del todo pero no podés ver los paquetes encriptados correctamente (ataque, movimiento, etc.)
En fin, todos los créditos van directamente para yola por haber encontrado la solución mientras que yo solamente deduje cómo se producía a nivel código.