Thanks for your bug report. This has been the behaviour as far back as v5.5, the time that it was implemented (and presumably tested by the scripters that requested it). While it would be easy to change the behaviour, I try not to change behaviours that have been in place for so long that scripts may depend on them. In this case, if a script uses /sockread -n into a &binvar and then $bvar().text, it will not be an issue. However, if a script parses the &binvar directly, it may expect the terminating zeros and changing this now will break that script.