Been speaking to the services op and looking into the problem. The reason it is sending a negative timestamp in the first place is due to a limitation of Tcl:

Quote:
# ping.tcl
# Makes the eggdrop PING the requestor and displays the results.
# By Pistos - irc.freenode.net#geoshell

# Usage:
# !ping

set ping_min_delay 15000

bind pub - !ping ping
bind ctcr - PING ping_received

proc ping {nick uhost handle chan arg} {
global ping_time ping_channel ping_min_delay

set ms [clock clicks -milliseconds]
if {[info exists ping_time($nick)]} {
if {[expr $ms - $ping_time($nick)] < $ping_min_delay} {
putserv "NOTICE $nick :You just requested a ping. Try again later."
return
}
}
set ping_time($nick) $ms
set ping_channel $chan

putserv "PRIVMSG $nick :\001PING $ping_time($nick)\001";

}

proc ping_received {nick uhost handle {dest ""} keyword text} {
global botnick ping_time ping_channel
if {$dest == ""} {set dest $botnick}

if {$dest == $botnick} {
set ms [clock clicks -milliseconds]
set difference [expr $ms - $ping_time($nick)]
putserv "PRIVMSG $ping_channel :$botnick -> $nick -> $botnick == $difference ms"
}
}

putlog "ping.tcl loaded"


And looking at http://www.tcl.tk/cgi-bin/tct/tip/124.html :

Proposed change

This TIP proposes two changes to clock clicks to make it more useful in situations where absolute times are needed:

1. Change clock clicks -milliseconds to return a wide integer, representing the number of milliseconds since the Posix epoch.


SO the problem stems from a bug in Tcl ... however, mIRC should still honour the requests according to the specifications.