Just wanted to post an answer to a common question here.
FaceFX stores the targets and animation data separately, so it is easy to apply the same animation data to different characters with different skeletons. As long as there are equivalent targets, the same animation curves can drive the different characters. You can even swap out morph targets for bone poses and vice-versa. (in fact, some customers are doing exactly that to get around a problem with OGRE not displaying non-uniform scale correctly...they create equivalent morph targets for preview in FaceFX, then use bones for the in-game scenario).
Retargeting OldCharacter.facefx onto NewCharacter's rig is as easy as:
1) Load up OldCharacter.facefx in Max/Maya/XSI/MotionBuilder, but have NewCharacter open in the animation package
2) Export the reference pose.
3) Batch export all the bone poses.
Make sure that all bone poses are over-written in this way. After re-exporting the reference pose, you always need to re-export all of your bone poses.
If your targets are "equivalent", then the same animation data can drive the new rig.
If you want help setting up the new bone poses for NewCharacter, check out the bonepose command.
http://support.oc3ent.com/fogbugz/default.php?W54
It only works if your characters share the same bone names and rig...for example if you have one fat and one skinny character but the rig is identical otherwise.