Is there a function to call, that does something like PointToClient except it takes into account scroll position and zoom?

You can convert between view coordinates and document coordinates by using the GoView.ConvertDocToView and ConvertViewToDoc overloaded methods.
So, if you get some screen coordinates, you can convert them to document coordinates, as this example from Demo1.GraphView shows when handling a drop from another window:
protected override IGoCollection DoExternalDrop(DragEventArgs evt) {
IDataObject data = evt.Data;
Object treenodeobj = data.GetData(typeof(TreeNode));
if (treenodeobj != null && treenodeobj is TreeNode) {
TreeNode treenode = (TreeNode)treenodeobj;
Point screenPnt = new Point(evt.X, evt.Y);
Point viewPnt = PointToClient(screenPnt);
PointF docPnt = ConvertViewToDoc(viewPnt);
. . .

Great, thanks.