Recently I build a kind of a zoo in my single player MineCraft world. My goal was to display most (if not all) mobs in the game. Each mob is named using a name tag to prevent despawning and each mob is placed in their own cage (a well lit, 5x5x5 blocks room). After I filled the first few cages with friendly mobs and came back (relogged) some of the cages were empty. Specifically my cow, sheep and pig were missing. Having still plenty of name tags, I rounded up a new cow, sheep and pig, named them and put them in their cage. Some while later (a couple of days, so I logged on again) my cow cage was empty yet again.
I am very sure I've named the mobs that disappeared correctly (I don't know if you even can do it other then correctly). The cages have plenty of room and are well lit and since I've not found the missing mobs roaming around, I highly doubt they have escaped. Since hostile mobs don't attack friendly mobs, I also rule that out as a cause.
Does anyone have an idea on why these mobs disappear? And, if you do, how I can prevent it or fix it?
Note: The world was created in 1.7.1 and is now running in 1.8.10.