Rather than using "Pick last created", it would be safer to have spawn() pass in the UID of the created object, and then "pick by UID" inside the function (and subsequent functions). Then you are guaranteed to have the right object.
You don't show what else is in spritegen() but the previous chose() means it's 50/50 if the Breed=Weinerkorg.