Ok here is a bit of info I found while playing around with UT3.  In UnrealScript there are three functions to read files on your system.  Problem is you can only read files from the Web dir.

native final function bool		IncludeUHTM(string Filename);
native final function bool		IncludeBinaryFile(string Filename);
native final function string 	LoadParsedUHTM(string Filename); // For templated web items, uses Subst too

So if I want to read screenshot files I need them in the Web dir.  If you send this command via the console you can move a screenshot to the Web dir.

bugscreenshot /../../../Web/test

This isn't intentional since all screenshots are suppose to go in the ScreenShots folder but UT3 apparently hasn't put checks to reject /.. from bugscreenshot.  The three functions above DO have checks to reject /.. from the filename.

So what this means is I may be able to force a console command on a player, read the screenshot file and send that off to a web server using TcpLink.  Problem is some of these files are 5+MB and I'm not sure how good binary manipulation in UnrealScript is to reduce the size of the BMP.  I haven't done anything but I'm just giving you a heads up that a screenshot sender may be possible in UT3.