while (%b <= $file(versions.txt).size) {
bread versions.txt %a %b &f
sockwrite dg &f
inc %a 8192 | inc %b 8192
}%b shouldn't exist, it should simply be a static 8192 in the /bread line and you should be comparing %a in the while condition.
while (%a <= $file(versions.txt).size) {
bread versions.txt %a 8192 &f
sockwrite dg &f
inc %a 8192
}