okidoki, backwards comaptibility it is... a new diff is coming up soon since I'm basically just reverting some functions back to their original state.
yea, my project got a little rewind due to large changes in the networking, so I wasn't able to test out the volume to the full extend that I want to use it.
anyway, to the questions:
1. yes during execute when blocks are accessed that are not loaded yet. but you can "preload" the blocks by accessing voxels that are inside of it (ok that is a little stupid, but we could add a preload function that gets a region...
2. the region that is requested will be 32^3 since that is the default block side length for the volume class
volData.setBlockCacheSize(4096) means that once 4096 blocks are loaded, blocks will start to unload
3. 32^3, it is always that size, but if you wish to preload your volume, just don't create a callback and fill it with setVoxel as you've done it before streaming.
4. saving works like loading. you add a callback to unload and you get a region. you use getVoxel to obtain the voxel values and then you store them however you want
no compression there obviously, but you can do that yourself then
5. I think that kinda merges with 4? or did I misunderstand you there?
6. I didn't check the svn, might be in there already
oh you will have problems... everything having to do with volume size has been broken

just wait until I get the compatibility mode back in there
7. good point, I was thinking about that, too... a function to force an unload would be practical... even thou I'm not sure how to handle it when someone chooses a region that is not exactly on block borders... (imagine you have a 64x64x64 volume made up of 8 32x32x32 blocks... and you choose coordinates from 0x0x0 to 16x16x16... you have not selected a full block to be unloaded, should I unload the whole block from 0x0x0 to 32x32x32 or should I do nothing then? (ok this could be kindof fixed by creating a boolean argument roundUp/roundDown)
and while we're at it a function to force a load would be good, too
also the setBlockCacheSize function could be changed to get a vector as a parameter which defines the x,y,z dimension that should be loaded at all times. (like if you want a region around your player to be loaded at all times, and if the player moves, and you try to load new blocks, old regions start getting unloaded)