I have dried an approx 15x15 section of magma sea floor before. The main issue is that you cannot cast obsidian on the final z-level because even if it would be supported it just disappears into the magmaflow tile without ever forming. A fire imp in 4/7 magma had water dropped on it; cave-in, steam, ect but the fire imp was not harmed by being in a tile that should have been obsidian cast.
The trick would be to inverse-piramid cast obsidian down into the magma sea along all edge connections leaving enough room to build two sets of side-by side pump stacks (one at the screen edge and one ~10 tile back that will constantly pump magma off-screen. When the magma level near the pumps is low enough you start feeding regulated amounts of water into the tiles between the pumps, this will cause cave-ins but the obsidian will fall into the magmaflow tiles and it will also use up a lot of magma leaving only water on the magmaflow tiles.
So you have the pumps holding back the magma from off-screen and from the center and the water flowing in from the middle and out as far as the pumps.
When the water level is 3/7-2/7 you send in dwarves to build a wall along the map edge on the magma flow tiles where you could not cast. Use migrant - many will die as there are constant cave-ins and water flow pushing them past the pumps into the magma. Oh yeah, water flow has to be constantly watched and adjusted since if one of the pumps picks up some 2/7 water that gets to it's inlet it will solidify in the pumpstack output and, well, that's a problem.
When you are done you can watch the myterious random yellow flashes that flicker around on the surface of the magma sea and lament the failed HFS trap design you were testing.