fix queue pos accounting for short writes on  iceblock sending

if the queue pos is incorrect then the listener drop handler breaks and can
cause incorrect memory be referenced, suspect this leads to crashes or
forced aborts.