If I use the EntityData command at any entity to change the type of the entity, the entity doesn't visually change.
Steps to reproduce:
/summon Sheep
/entitydata @e[type=Sheep] {id:"Zombie"}
More in-depth:
The entity class doesn't change with the entity data.
Possible fix:
Re-build the entity (use the readNBT function) using the changed NBT to correct the entity type.
I don't think this should be in the game, instead Summon a mob at the position of the sheep and then teleport the sheep 255 blocks down one tick after so you don't get the mob drops like when you use /kill.