You could just load all the different models and play their animations by positioning the model and starting it playing and hiding the others.. i know its kind of a cheat.. but until you get the hang of how appendobject works it will get you what you need...(thought cant be very efficient)
To use appendobject, you need to know the start and end frames of each model's animation. Then you append the first animation to the source, using the value of the source animation's last frame number as the value for where to append it. That value+the source animations total frame count will be the new source animation "last frame" for the next appending...
so, for example, you have 3 models, idle.x, run.x, fight.x ..
the model "idle.x" is numbered 1, the subsequent ones done need numbers as you arent actually loading them to use as objects, just take their animations. each of those models has 10 frames of animation(0-9). here is the code to load and append all of them :
dbLoadObject("idle.x", 1);
dbAppendObject("run.x", 1, 10);
dbAppendObject("fight.x", 1, 20);
dbLoopObject(1);
The resulting object number 1 would have 30 total frames of animation(0-29), provided that all 3 models share exactly the same "rig" and mesh(ie. are the same).
If it ain't broke.... DONT FIX IT !!!