Your comments

Any ideas?  I'm still having issues with this.

Thanks!
Alright, I've tested this for a bit.  

I decided to split the ladder definitions up for added flexibility (especially since Ladders take up 1 floor tile and Stairs take up 2).  No problems there.

The issue that I have now is that I'm not 100% sure how ladders and stairs are sorted when using PhysicalMap.GetObjectsOfZone.  In my initial tests, it seems like they are part of the floor below the current floor, but that doesn't actually seem to work until you're on a floor greater than one.  For reference, here's how I'm trying to decide what floor to check for the ladders/stairs on:

(Floor > 0) ? Floor - 1 : Floor

Using that, if I'm on floor two or greater, they show up just fine, but if I'm on floor 1, they still don't show up in any of the GetObjectOfZone arrays.  If I don't subtract one from the Floor if the Floor is greater than zero, then the ladders/stairs never show up on any floors.

Any ideas? (And thanks for your help thus far!)
Thanks!  I'm glad I wasn't going crazy.  I'll give this a go when I get back and let you guys know how it goes.
I think part of my problem can be mapped to the ladders and stairs.  I don't think they count as "Floor" in SelectionObjectType if you're past the first floor.

I see that internally you have a CellType for Ladder and Ladder2 -- any idea what those map to under the SelectionObjectType?

It could be something on my end, but I'm pretty sure that they don't map to SelectionObjectType.Floor.
Actually, I'm having some issues trying to sort things by floor accurately.  I'm not sure if it's my formula, or if there's 1 or 2 random ghost objects in some generations.

I'll keep you guys posted.
I've been working on this over the weekend, and I've got a semi-working approach that probably isn't as nice as what you guys just posted.

Essentially, since the PhysicalMap holds all of the items, I go through and create arrays of the things I want to display on the map (in this case, Walls, Columns, Doors, and Floors). 
Then I use PhysicalMap.GetObjectsOfType(SelectionObjectType) to get that particular type of object. 

Now, we've got all of those types, so we have to sort them by floor.  This will vary depending on how tall your floor is, but once you've worked out the formula it's pretty much ready to go.

Then you just need some way to render it, which was actually more difficult than creating the object arrays.

Anyway, that's just a really long way of saying that it's working now.  Thanks for nudging me into the right direction!
I'll take a look through the VirtualMap and see if I can find something useable (or, alternatively, I might do GetObjectsOfZone to prototype, and then try to duplicate the results using VirtualMap).  I'll definitely update this thread if I get something working, but if you guys get something going first that'd be totally awesome too.

Thanks!  Your support is awesome!
How resource-intensive is that?  I was also reading in your documentation that you guys might be using that to split up areas of a map later, so I'm looking for something that will work now and shouldn't break later.

Is regenerating the map in 2D a bad idea?  If I did it with a 2D generator then I could get doors, etc. and mark them up separately on the minimap (unless GetObjectsOfZone can detect that (or I can search for tags or names from the result)).

I'll look into the PhysicalMap call in the mean time, though.  I'm just curious if there's a better way (for now, and for the long term) way of doing it.

Thanks!
Correct, I would need some kind of minimap for a multi-floor dungeon.

I was thinking something along the lines of doing it floor-by-floor, and fading between the floor you're on when you go up a level (I could even put some kind of trigger at the top and bottom of stairs/ladders so the minimap doesn't even need to track floors, it'll just get an event or something that tells it to crossfade map data).

Any ideas?