You title states "Need input" - now that is an open invitation...

So a few obvious additions...
Either use ignoreitem after you successfully tame the pet, so you do not try to tame an already tamed pet.
Then use ignoreitem reset when you have a second one tamed prior to gating away. This gives you the ability to command "all follow me" and verify your tamed pets are close to you now before entering your gate.
--- Alternatively
you can add the ID (#FINDID value) to a variable, which you then check for have you tamed it already... test if the current animal you wish to tame in in the list of this variable and proceed accordingly. (if #findid notin %alreadyTamed ... -> go ahead and tame this one). As one is tamed you would add it's id to the variable (set %alreadyTamed %alreadyTamed , _ , #findid) and if you needed to initialize/reset it (set %alreadyTamed _). This second method gives you a nice list of the ID's that are currently tamed to test for their proximity (finditem %alreadyTamed) and then verify each found have a #finddist value that is close enough.
Pay attention to how many are tamed using the #FOLLOWERS variable ... when it is > 3 (you can ride a 1 slot pet/ethy) then you have 2 tamed - time to head to the zoo.
Use journal scanning to determine when:
1) you have successfully tamed a pet
2) you failed to tame the pet and should retry
3) you are trying to tame a pet that someone else is in the process of taming
4) you are trying to tame a pet that is already tamed
You could have a small rail and keep yourself walking the rail segment to lead your aggressive tame attempt. You have to be within 2 tiles to initiate taming, but I think you can be 8 tiles away and still have the taming attempt continue. I can't remember, do drakes follow you or wander away when you try to tame these?
Use Peace or paralyze taming to initiate your taming attempt. It may be a bad thing for a pet you wish to keep with > GM skills at birth, but for zoo donations the point values you get are the same. I do not think drakes are created with > gm skills anyway.
Processing gate travel is variable depending on whether you are in a trammel ruleset only or traveling to a felucca ruleset. There is also the whole "your spirit lacks cohesiveness" when trying to get through a gate (journal handling helps here).
Generally speaking, some shards do not allow gating directly to the donation box/npc (Moonglow zoo, Britain Library, Vesper Museum, etc.), so having an option for a short rail from your marked rune location to the place close enough to make the donation may be an excellent consideration.
A check to keep yourself healed/cured in the loop. Drakes do not poison or have magery but other bad stuff that spawns around them definitely do.
What do you do when a pet doesn't make it through your gate to the zoo? If you donate everything you have at the donation box and you still have #followers (more than your mount), maybe a logout/login procedure would be good to pull pets to join you. This one is a little pie in the sky suggestion, but it is input.

This is missing a routine to process the defined menu buttons. As written, the repeat loop will continue forever. You will need to check #MENUBUTTON in whatever loop where you want that kind of control.
You need a good set of travel routines. I wouldn't recommend writing it yourself because there are solid tools that others have shared.
Only attempt to tame when you can... don't try to tame repeatedly unless your taming attempt has failed. Needs better coding structure to do this.
As for public routines that I feel are solid enough to recommend:
TM's Runebook Travel
http://www.scriptuo.com/index.php?topic=18.msg18#msg18TM's Advance Journal
http://www.scriptuo.com/index.php?topic=33.msg33#msg33If you are going to use your own logic for healing, then you really should be checking for poison using a call to EN's Scanbuffbar. There is just no other reliable way that is appropriate and it is here:
http://www.scriptuo.com/index.php?topic=1508.msg11033#msg11033That is everything I can think of off the top of my head. If you want help testing something, I would be willing as time permits.
Gaderian