Actually, I tried just that before I ended with the downstairs in the room with the river. It didn't work well. :/
The problem is with AttachRequired messing up the dungeon generation. The generator probably doesn't recognize the two staircases as attached if there is a river intersecting the way, thus it resulted in strange corridors being generated over the room with the river. At first, I thought maybe the liquidterrain is not recognized as passable, thus making it impossible for the generator to attach the stairs, however, even with the bridge, as long as there is a room across the whole width of the level, it results in strangeness if the staircases are on different sides of the room. With shorter room, it always generates a tunnel around the room to connect the two staircases. That is also why so many squares with specified OTerrain are there in the script, to ensure no glitches will build a corridor or a wall over the river room.
Without AttachRequired, it works just fine in generating BoundedRandom-ly placed staircases on different sides of the river - I just doesn't attach the staircases to the rest of the dungeon, resulting in impassable level with nearly no tunnels. I guess that's expected.
Anyway, I wasn't able to figure out how to make the randomly placed river work. I'm not exactly happy with fixed place for the downstairs, but in my humble opinion, in works and looks rather good.
If any of you are able to give me some insight into how to make the generator cooperate without ruining my river or placing the stairs in the middle of a wall, I'd much appreciate it.