The server detects client errors
It is easy to find out that the server detects client errors : Block every packet, move a bit through the map and then let the client send packets.
Then I get a speedhack client error. When I block the packets again after the client error message, I still get disconnected.
I found a function named 'Disconnect' in ILTClient using the LithTech Engine, maybe I also find it in CrossFire and hook into it.