Main flaw - if it's a REAL bug the pet data is lost or corrupted therefore making it impossible to identify 100% the lost pet and/or to replicate it. "Insurance" wouldn't change that unless you are suggessting that for a 100 gold pieces a pop a redundant pet database is created, which is... frivolous to say the least.
Well, how is the information about a pet stored in the first place ?
I mean, when we stable a pet, it disappears and the information must be stored somewhere must it not ? And what is the "claim" command that we issue if not a "duplication" command of the same exact pet we put into the stables ?
So, basically, we already have a duplication system that recreates a pet upon request of a player.
The problem is, that at times, this informations gets lost due to bugs and the pet which was supposed to be in the account's possession is no longer considered as such and so, the stablemaster does not release it or, if you will, does not consent to make a duplicate of it.
What I am saying, is changing the owning process so that only 3 events EVER can erase a pet from an account :
- Transferring the pet to another account
- Transferring the pet to another shard
- Releasing the pet
Now, n. 3 is the one that I suspect can bring the most trouble because a bug "might" be seen by the system as similar to the pet having been released by the account and, therefore, not duplicable any longer.
Perhaps, some additional layer of security should be added so that even in presence of bugs they could never ever be mistaken for a player willingly releasing a pet.
Bottom line is, my suggestion is addressed to try to make sure that regardless what bug may hit the pet, the player will ALWAYS be able to claim it back from the stables unless one of the 3 above actions occurred because the information that the pet is in possession of that account stays, unless the pet is transferred to another account/shard or released for good.