sources of lag in zapt that are directly proportional to zombie count are most likely unchecked schedules running on the zombies or some form of iteration over the simgroups that hold the zombies. dump a zombie bot by looking at it ingame and typing /getid and going into the console and entering the object id followed by .dump(); like 38345.dump(); and look at the function list to see if there's anything called 'loop' or 'schedule'
if that doesn't work, try to do "trace(1); schedule(1000,0,trace,0);" during high-lag periods and see how many lines are created during the trace. if it's a lot, it's a schedule and the name should be there somewhere. if it's not a lot (maybe 30-100 lines in one second) then the second most likely culprit is ghosting. that can be solved with a ghosting dll