I don't use geometry constraints much... but I think I may see what's happening here. It sounds like the bake script is checking the object before it is snapped into place by the geometry constraint. Therefore even after you bake the channels, they are still recorded as a straight line motion, only held in place by the geo constraint.
What you can probably do, is duplicate your constrained object, and -point- constrain it to the one which is geometry constrained. Bake the channels on the point constrained object, and then delete all constraints. Hopefully, you will now have your channels properly written out on the second object, and you can copy them back to the original.
-- edit: I just checked my approach and it works
I don't know why the geometry constraint doesn't bake properly on its own... I think it may have to do with the way geometry constraints work. See, unlike most other constraints, geometry constraints do not own the transformation channels of the object; they allow the object to move, and then modify that motion on a per-frame basis. But by the same token, for a geometry constraint to work, it has to be applied as the very last stage internally. I think Alias was following this logic and tagged the geometry constraint code onto the very end of Maya's per-frame operations... but perhaps they forgot to move their bake checks down in the list to compensate. By using a point constraint as a second level of operations, you create a graph dependency on the geometry constraint, which forces it to evaluate before the point constraint and therefore the point constrained object can record the motion properly....
At least that's my best guess as to what's going on.