I got your code cloned and built. I am trying to shoot some recognizable images with it but since it is mid-day here I need to do short exposures to avoid maxing out the pixel counts. This means that the issue with short exposures that I mentioned before is rearing its ugly head. I will try to get some properly exposed subframed and 2x2 binned images and/or captures tonight and let you know how that part of the code is working. In the meantime though here is a packet capture of the problematic 0.25 second exposures. I took a first exposure, which seemed to download just fine, then waited a few seconds and tried a second one. The second one downloaded but it paused for a really long time during the download. Hopefully this capture has what you need to figure out why this is happening. In any case though I will investigate the subframing/binning code tonight when it is a bit darker.
I pushed another branch called bin_no_deinterlace. This has the same changes as the other branch and an additional change to not deinterlace the frame if y-binning is enabled. I think this will work better, but I it would be nice if you could test both and find out for sure.