I haven't really thought of a cave only run yet. I think there are 2 things missing to do it: a lack of wood and water.
now you don't need much wood to finish the game, just for some poles, so that might not be a big issue, just something to work around (also bob's mods need wood automation...). Water however is currently not "really" generated in the caves. but ideally at some point i want to have that too, because it enriches the currently rather plain environment.
Currently power cannot be transferred from the cave to the surface. (as of now, it wouldn't make much sense, since there is no sun for solar, no space for nuclear, and no water for steam)
Oil generates in caves similar to other resources as well. The issue is just as you mention that the walls cover it quite often. this happens to small patches like uranium as well. I don't know yet how to prevent that. Personally i am playing with very big resource settings at the moment to avoid that. I am thinking of redistributing "lost" resources elsewhere, because currently that is too much luck based.
Occassionally some tiles end up not being overwritten in the cave, this is probably the water you saw, it can also happen to other tiles like dirt. It is a bug i have not yet found.
I think i can't do much about Ion cannons. i don't know how it is written, but i would expect somewhere a hard-coded list of surfaces would be required where to allow it or not. (does it fire in factorissimo's?)
I think biter expansion should be working in caves as normal, but i haven't checked it