It sounds like your tool is actually working properly now. As I mentioned previously, AccuDraw is intended to work off of the base rotation established by the person using your tool.
The reason you don't typically supply a full rotation matrix to AccuDraw and only provide an x axis hint is because when setting the full 3d rotation you can easily end up in the situation where the AccuDraw compass is edge-on in the view making it difficult to use.
Let's take the example of place line. Even if you think the user of your tool is going to draw in the xy plane, they might also want to draw a line in a front view, if you send a full RotMatrix to AccuDraw created using 0,0,1 for z, then the AccuDraw compass will be edge on in the front view that the person is actually trying to draw in.
If you just send the x axis hint, then the user can establish a base rotation they want to use beforehand that results in a workable orientation of the AccuDraw compass (i.e. "V" or "F" shortcut in this case).
Another way that the user of your tool can establish the base rotation they want to use for drawing is by setting up an ACS and enabling "ACS Plane" lock. When ACS Plane lock is enabled the standard view rotations and the "T", "F", "S" AccuDraw shortcuts will be relative to the ACS coordinates instead of the design coordinates, additionally, when a tool enables AccuDraw, AccuDraw is automatically aligned to the ACS's xy plane.
Hopefully this made some sense. If you feel that this doesn't apply to your situation, then what you need to do is setup a RotMatrix using a cross product of your intended up vector and line direction. Then send this RotMatrix hint using ACCUDRAW_SetRMatrix instead of ACCUDRAW_SetXAxis.
HTH
-B