Since mIRC allows file transferring, and the rest is under the user's responsibility, and since I know the answer as one asked me for such a script in the past, I think it wouldn't be so bad to post it.

To make a XDCC request, you send:

/msg botnick XDCC Send #N

Now, all we need to do is creating a custom /msg alias, which stores the requests, and if a download stops, we'll know which pack number has to be requested again.

Note that it wouldn't work if you have a few files queued. It saves only the last request.

Code:
alias msg {
  msg $1-
  if $2-3 == XDCC Send {
    ;
    ; The hash table 'xdcc' will look like:
    ;
    ; Item     value
    ; <nick>   <pack>
    ;
    hadd -m xdcc $1 $4
  }
}

On *:getfail:*:{
  if $hget(xdcc,$nick) {
    !msg $nick xdcc send $ifmatch
  }
}

This script will send request every time the send stops. if you want to retry only 1 time, add hdel xdcc $nick under the msg $nick xdcc send $ifmatch line.