Recently, I found a new way to make custom mounts : D so enjoy...
(Original Method)
What you need
Any program to edit the database (I use SQLYog but Navicat will obviously work)
Ascent/ArcEmu Private Server
There is a little paragraph at the bottom explaining what to possibly do for Mangos, it is not tested yet so please give feedback on it
And now for the wall of text ^^...
1. Pick a mount to replace, I will be using Bazen Taxi
2. Find an NPC you want to replace it with, I will be using Magnataur Youngling, you can also check My list of Cool Mounts and skip the whole of 5. (as I give you the displayID's)
3. Gather all your information.....
4. Original NPC ID
Go to your chosen mount's page on wowhead (spell, NOT item)
Note down the number here...
5. DisplayID
--a. Open the Page Source for your replacement's NPC (I'm using FF, for IE, click View > Source)
--b. Ctrl + F and search for "displayid"
--c. Note down the number that comes after the colon (24840)
6. Have a break, maybe a cup of tea and a scone.
7. Open up SQLYog/Navicat
8. Locate the creature_names database in ascent_world (default name) and open it
9. Scroll through the data until you find the row starting with the mount's NPC ID (18768 in this case)
10. Then scroll along to the same row until you get to the male_displayid collumn
11. Then replace it with the DisplayID you noted down in step 5.c. (24840 in this case)
12. Save and restart your server.
13. Enjoy ...and possibly have some more celebratery tea and scones
Mangos
Ok, this may work, it may not work...
follow the ascent/arcemu guide (above for people without a brain ^^)
then instead of ascent_world > creature_names, go to mangos > creature_template
and when you find the row begining with the NPC ID, replace the 4 collumns, modelid_A modelid_A2 modelid_H modelid_H2 on the same row, then continue with the ascent/arcemu guide