mikekchar mentioned a number of legitimate reasons for why civs that look dead aren't. Unfortunately, there's also a bug that causes most of them not to die properly: entities have a number of non hist fig members, and that number isn't decreased properly when civs stop being functional, and a civ isn't dead until this number is zero.
In addition to this, dead civs are culled from the list of civs you can embark as, so you can only embark as a dead civ if all of them are dead.
If you allow necro towers to spring up, you may get a few necro dorfs in the world as well.
If you're playing a truly dead civ and are OK with the two first migrant waves you don't need to play with pop caps at all (at least until socializing gets fixed, in which case you may want to restrict births, but until then you need to engineer most marriages and pregnancies).
It's easier to get dead civs in a world where there are many, but since you don't want any dorfs around you should set [MAX_STARTING_CIV_NUMBER:1] for dwarves to ensure that when/if it's clobbered, that's it.
I've got a couple of DFHack scripts to make an extremely tedious process of getting dead civs to only become tedious:
http://www.bay12forums.com/smf/index.php?topic=165084.msg7526484#msg7526484. With a single dwarven civ you don't need permit_dead, as there's no culling of a single dead civ. Slabciv is used to set the non hist fig population of a civ to 0 if there's been no hist fig nor any population changes for 100 years and the civ doesn't have any sites to work around the non dying bug (the script occasionally kills off a civ that for some reason gets a hist fig after over 100 years, though). In addition to that, I use PSV worlds where I set up the dwarven civ (i.e. the only mountains in the map) close to goblins, and have a high megabeast and titan count to increase the chance of the dorfs being killed off.
If the dwarven site isn't lost within 100-150 years it probably won't be, and I abort and restart the world gen.
Also note that a gobbo conquest might lead to dwarven prisoners->gobbo civ members, although gobbo conquests usually results in dwarven refugees that keep the dwarven civ alive.
If you're going for a "struggling" civ, you need to use the pop cap to control migration, e.g. set it to 1 after the first migrant two waves. However, a struggling civ will saddle you with a monarch after at most two years (or was it one?), and the dwarven caravan shows up regularly in principle ("in principle" because there are many reasons for caravans to fail to show up). A struggling civ can send you unlimited numbers of migrants, creating void dorfs as needed.