Well I haven't used after till now, because I did not have a reason for it till now. First you will not be able to use it withing a loop of any kind. Best you save were you have been in a global var or forward it via argument and then call the command from the beginning. If I read manual right you should be able to able to use it like:
after 100 myproc $myarg1 $myarg2 $myarg3 $position
should execute it after 100ms. But I am not sure if this will really work in eggdrops. Maybe you can use the event functions built in eggdrop. No idea if custom events can be bound like "bind evnt - custom proc" and trigger with "event custom".
I personally would try to optimize the script to not consume that much CPU time, because I would probably get kicked of my shell for doing so .