I'd presume that the server-side support could be indicated by an option in the servers configuration page (much like "Select group" and "ARTICLE command" are now). I'd suggest it defaulted to on, and the user could disable it if needed.
I'd tentatively suggest that groups of eight, and continually push the eighth one as fast as you get responses. Of course, the number of "in-flight" blocks depends upon the latency and bandwidth. Taking the example I gave in my previous post, which had 30ms "download latency" and 400ms network latency, this system needs 13.3 blocks in flight in order to keep the line full (ideally, etc). Perhaps this could be a tuneable in Settings.
To be frank, I wasn't aware that a miss (block couldn't be found) *was* shown in the connection panel, only in the Log. A block miss should be dealt with as it is presently (retry later); I'm not sure why that would need to change.
Something else to take into account would be downloading something with say 100 blocks, if I had my articles per block set to 20. If I have 20 connections open, the available blocks should be spread evenly over the connections, rather than just five connections with 20, and fifteen connections idle.