Searching for the last byte of data might be a bit time consuming, there is of course the division by two method that somone could say well produce only 12 reads to find it (to the 1kb), but then if the file has chuncks of null bytes in it, your going to run into false end of datas.

If I had to think of something I would uses a system of a length downloaded, stored at the end of the file (same as kazza uses minus all the chunks downloaded data), this caan get update as the file is written to and/or every 1meg (i say who cares if u have to redownload a meg), when the file completes its earsed off the end (might be an idea to have a idenifying ID with it, so mirc can see its one of its headers and deal with the file accordingly.

Personally I think the whole idea is full of problems and would run into more as it went on, especially with older mircs storing recieved files one way and the newer ones storing them another, an incomplete file starts gettng sent around beleived to be a complete one sicne it appears to be the right length etc etc.

Oh and the one real concern i would have is just how easy it would be to lag someone off irc with a mirc doing this.