only thing I can think of is either you spelled something wrong or the macro is calling the seahorse first and if you do not have a seahorse, the mount fails and ends.

Not sure if the latter is correct, I will have to look it up as I am curious as well.
you could make a "smart mount macro" from http://www.wowpedia.org/Mount_Macros
or use an addon like GupPet ( i currently use this and am very happy with it).

If you use GupPet, you can either use the included "mount bar" or use the addons macro commands to summon a random mount depending on location. The macro commands are on the GupPet addon cofig screen or on the addon download page here http://www.wowinterface.com/download...56-GupPet.html