Hello, I'm new here
I also encountered several error, often 52100 ou such…
I eventually got in the code of pokehaxlib.py, and spotted mentions of 4.2.2.2. I checked, and it appears it's the DNS servers of Verizon, in the US. I supposed that was the origin of the errors, so I changed them to 8.8.8.8, the Google ones. And it worked way better (with pkmserver.py, the bypass is immediate, instead of resulting in several server failures, according to wireshark).
I wrote this bash script (for Linux) that browses a directory searching for pkm files and calls sendpkm.py on them.
It does not work as Vlad's pkmserver.py, it only send a bunch of files in a row (it is for lazy people like me who don't want to call sendpkm.py for each file . You still have to get out of the GTS and in again though)
It is a bash script, don't get fooled by the txt extension I had to use for the board.
impSendPkm.txt