More fixes to add_block/remove_block

Now passes 16/17 initially, but drops to 13/17, and then 9/17, and then
4/17, etc. Probably something to do with deallocation.