1). getGlobalTransformMatrix should be correct ( bones extend ofNode ).
2). Yes, you can set the matrix using bone->setTransformMatrix. This only applies to the local matrix, so make sure to multiply by the inverse of it's parent.
I have been working a lot with fbx bones and this addon. I have been re-factoring the code. So if you have any input on what might be useful, that would help. Image may be NSFW.
Clik here to view.