OK, so...
This is the same fortress where I recently had way too many cats, so it's actually pretty big, but has a low population. There are now five cats, four caged. There are twenty dwarfs, less than half of which were the only survivors of the tantrum spiral after I killed just the wrong cat. You know how it goes.
Anyway, thanks to the low population and lack of military skills I decided to just close the bridges and ignore sieges--no traps, no fighting, no experimenting with siege weaponry. So far, works fine. The goblins (it's always goblins so far, plus trolls) tend to leave after a while once my fortress proves too boring for them.
In the last siege, one unlucky goblin drowned when the river thawed under him. The rest left, as per usual. I can't see them on the units screen. The drowned goblin shows up as "deceased". On the units screen there are my dwarfs, livestock, some random monsters I presume are in the caverns, and some wildlife--turkeys, mostly. I scrolled across all the levels of the outdoors and I can't see any invaders.
I have no idea why this siege isn't ending. Are the goblins out there and hiding so I can't see them on the units screen? Can they hide in the trees? I do have lots of trees out there (taunting me, because I can't get to the wood safely, dammit!). What's going on here, and how do I get the siege to stop so I can start getting migrants and caravans again?
Oh, if it matters: I did divert that river to run underground, so I could use it to power stuff safely. The river source is aboveground, but then it flows through some bars and down into the channel I dug for it. Maybe that's relevant? I don't think there should be access to the fortress through the river though because the gap where it enters the fortress is full of bars...