Thanks for the ideas. I've played around with the COM interface. GetPointOnTerrainFromScreenCoords seems to work. The format for the arguments is a relative position from the center of the render window. So the middle of the render window is 0,0. The top left is -1,1...top right is 1,1...bottom left is -1,-1...bottom right is 1,-1.
You have to take into account the window size, client size, mouse position, border widths (top and sides) to get the correct absolution position on the screen. Then convert that to the fractional coordinate format the COM call requires. Perhaps this can be made easier with the Opt's you used would make these calculations easier (I converted everything to absolute screen positions...looks like the Options make this much simpler to handle).
The returns from the COM call are a bit sluggish to make it "real time". But I think this is on the right track.
Thanks for the help.