1) That's correct.
2) That's how I'd do it, anyway. Probably in the same "finish drilling" function that generates the ore/crystal items.
3) Ah, I forgot to mention this one, since GeoTool (as a map editor) had to ignore this behavior. The engine requires any wall tiles to exist in at least 2x2 "chunks", or they'll collapse. The straightforward way to test this is to check each of a wall's 4 corners for whether or not they're part of a chunk, and if none of them are, destroy the wall. Do this for all of the drilled wall's neighbors (if they're walls).
One of the vanilla levels actually has a wall that's "invalid", not part of a 2x2 chunk. It collapses immediately upon starting the level. But another complication to consider is that hidden caverns are counted as "walls" by the engine until they're discovered, so 1-unit-thick walls don't collapse if there's a hidden cavern on the other side. To handle both cases, it'd be useful to have a "isWallOrHidden" function to use instead of just "isWall" in the "isPartOfChunk" test; depends on how your engine works though.