I don't find anything wrong with it...

I pasted it into my script and it worked fine, if im usin it right...
I dunno what ur old results looked like, nor what ur new one's thats not working right for you...

Using your code...
Code:
alias serverping {  
  set -u60 %serverping. $+ $$1 $ticks  
  .raw time $1
}
raw 391:*: {
  if %serverping. [ $+ [ $nick ] ] {  
    echo -a * ServerPing from $nick $+ : $calc(($ticks - $ifmatch)*.001) seconds  
    unset %serverping. $+ $nick 
    halt
  }
}

and typeing
//serverping $server in my status window, returned this for me....


* ServerPing from irc.vrfx.com: 0.03 seconds
* ServerPing from irc.vrfx.com: 0.1 seconds
* ServerPing from irc.vrfx.com: 0.03 seconds
* ServerPing from irc.vrfx.com: 0.041 seconds


Of course i typed it four times to get the four results...

btw, script is using 6.03


any help would make me happy