Heres the function:
on *:join:#gzzone1234: {
set %tmpvar $read(ipd.txt,w,$nick $+ $chr(42))
if (%tmpvar) {
%tmpvar = $puttok(%tmpvar,$calc($gettok(%tmpvar,3,24) + 1),3,24)
write -l $+ $readn ipd.txt %tmpvar
msg $chan Welcome back $nick $+ ! You've been here $gettok(%tmpvar,3,24) times!
}
else {
write ipd.txt $nick $+ $chr(24) $+ $address($nick,2) $+ $chr(24) $+ 1
}
}

Something weird, I can /write to the file, but if I try to insert a line it gives me the write error. This only happens after a day or two of running.