Gustavo,
I'm pretty sure that MFnAnimCurve will do what you want. I haven't worked with joints at all, but i would expect that keyframes are stored the same way throughout Maya. If not, ignore this thread.
Anyhow...
First remember that keyframes are stored in a dependency node. This is what MFnAnimCurve wants as an argument in the constructor. Get this by finding the input connection to the attribute you're looking for, travel up the graph from this to the animCurve node. Use this node as your object in the MFnAnimCurve constructor.
MPlug works very well for finding the animcurve dependency node. Simply set it to the plug you have keyframed and get the input connection to it:
MPlug::connectedTo ( MPlugArray & array , bool asDst (true), bool asSrc (false), MStatus * ReturnStatus = NULL )
Then use
MFnAnimCurve fnAnim(array[0].node());
You should now be able to check out the keyframes using the function set.
Hope this was of some help.
ferreel