You are right, mch_pos is relative to current Tool frame, but only in world frame. The SV_info varible looks interesting but not available on v8 or older.
If you know mch_pos and current user frame values then perhaps you could do the matrix transformation to calculate the position.
the tricky part in my case is that my user frame is relate to positioner, when positioner rotates, the user frame also changes. in that sense, I need to record user frame all the time for converting world coordination into user coordination.