DirectShow Filters seems to be the most popular way to do this. See this answer http://stackoverflow.com/questions/810994/using-windows-media-encoder-to-record-screen/811047#811047. A few good links in there.
Windows Media Encoder SDK is also an option, but requires the user have it installed and configured correctly. Search Bing or Google for "Windows Media Encoder SDK" and "Screen Capture", you should see quite a few forum posts.
For the taking lots of screenshots method, an article on doing this, including various methods and source can be found at http://gpalem.web.officelive.com/screencap.html.
UltraVNC's help talks a little about their Mirror Video Driver at http://www.uvnc.com/onlinehelp/8.html. It's light on details but gives a hint as to how they do it.
I believe how you capture will be heavily influence by your protocol. Do you need the entire screen? Deltas? etc. A list of the main protocols of commerical and opensource programs can be found at....
http://en.wikipedia.org/wiki/Remote_desktop_software
And an exhaustive list of programs, including their protocols and features can be found at...
http://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software
As ho said, you can check out how other have done it. Depending on the license of the application of course. The second Wikipedia link has over 15 open source programs using various screen capture / transfer techniques and protocols.