> There is only one piece that seems a little dodgy. Sending back out parts of pieces before you have fully received them.
This is my concern too. The rest of it seems mostly compatible with BitTorrent (although I am a little concerned at there being multiple mechanisms by which this peer algorithm prefers itself, in this particular use case that behaviour seems justified and fair), but this is not playing nice.
One reason you receive incorrect pieces by the way is from people that have altered the files on their hard drive but still have their BitTorrent client running - a common case is MP3 player software rewriting the ID3 metadata, which WMP and iTunes do without asking.