From what I've heard, usually when people grab screen they have to draw mouse pointer themselves as a sprite. What you describe here is one possible way, seems fine for me. Using samplegrabber from C# will probably involve marshalling of the whole frame which is too slow.
There is an open source screen recording app called CamStudio, you can look how they managed the mouse there. Note that CamStudio itself is quite slow (low FPS), so don't copy it all.
