Coincidence: I have changed this on my branch on large-messages yesterday, as I needed it fixed in order to delete large-files on servers.
The decrement reference will happen after commit, hence the cancellation won't need to that any more.
Tim: You completely disabled the code...
The correct fix would be to only increment the durable ref, as it was done before on earlier versions of the file. The confirmation of size on paging will be later done on QueueImpl (after commit), and that's the fix I have on my branch.
If you can't wait my merge with the fix for any reason let me know and I will merge at least this part now.