Oh wow, that did break didn't it?
But yes, you're on the right lines from what I can tell. You should be able to use Array.Copy though, instead of iterating over the array. Should be faster, and you'll need all the speed you can get when re-activating on the fly. Also, try using UpdateAllChunksNextFrame() so that the mesh rebuild is threaded, although without trying it I can't say if it will be better or not than a simple UpdateAllChunks().
I've been thinking about this a little, and I think I've decided to implement this in future versions by changing the voxel Active flag to a byte enum with a status of Active, Hidden or Inactive.
Exploding will change the state to Hidden and will then be treated as if it was Active=false, until you call a method to rebuild the volume which will set all Hidden voxels back to Active and regen the mesh.