It depends a little bit on how much we are using the default Bioware horse scripts. The zero-ing out might in fact be unrelated to the second dismount (more on that later).
I believe a normal mount/dismount cycle should look like the following (assume that STUFF = "phenotype, appearance, footsteps and other stuff"):
1. PC's current STUFF is stored onto variables on the creature skin (lets call it OLD_STUFF).
2. PC changes STUFF to MOUNTED_STUFF (mounts).
3. PC takes a ride.
4. OLD_STUFF is read from the variables on the creature skin.
5. PC restores STUFF to OLD_STUFF (dismounts).
6. OLD_STUFF is cleared from the creature skin (I'm not 100% sure about this step).
A potential double-dismount would give the following:
7. OLD_STUFF is read from the non-existing variables on the creature skin. Non-existing variables always return a value of 0 (hence the "zero-ing").
8. PC "restores" STUFF to OLD_STUFF (dismounts). I.e. PC gets a dwarf (0) appearance, phenotype 0, footprints 0, etc.
Now, I cannot confirm that step 6 actually happens. What do can happen is:
1. PC's current STUFF is stored onto variables on the creature skin (lets call it OLD_STUFF).
2. PC changes STUFF to MOUNTED_STUFF (mounts).
3. PC takes a ride.
4. Original creature skin is destroyed (and a new one created) by our old scripts. Like... Duelist weapon toggling? Subrace relogging (potential race condition on that one)? Dying while riding a horse?
5. OLD_STUFF is read from the non-existing variables on the creature skin. Non-existing variables always return a value of 0 (hence the "zero-ing").
6. PC "restores" STUFF to OLD_STUFF (dismounts). I.e. PC gets a dwarf (0) appearance, phenotype 0, footprints 0, etc.
While the dwarf appearance thing has only been witnessed once so far (with Angela doing a double-dismount), both me and Alantha has been affected by that even though we are dismounted, we have the "horse footstep" sound.