The new refund item has no genetics from instance data.

You can get the info from isSeed entity
int dataInt = GrowableGeneEncoding.EncodeGenesToInt(isSeed.Genes);​

and then set the value for the new item

var refund = ItemManager.CreateByName(held.info.shortname, 1);
refund.instanceData = new ProtoBuf.Item.InstanceData();
refund.instanceData.dataInt = dataInt;

I've tested on clones only. Please test it with seeds as welll as instanceData and Genes could be null.