1) Замените везде sendtoserver; на s
sendtoserverex();
2) К условиям FromClient добавьте
ConnectName()
Ну и по поводу оптимизации: зачем вам useforconnectid := ConnectID? И зачем каждый раз устанавливать timer.interval?
ps: по поводу вашей идеи: такое можно реализовать и без пакетхака, только средствами ботов