I actually think GuiBitmapCtrl::getPixelColor is broken; I believe 0,0 is always 0,0 on your monitor regardless of the location of the bitmap control on your screen. Oddly enough it scans your screen to get the pixel instead of getting the pixel data from the image it contains, which is what the function implies from its name. I discovered this odd behavior with Trigun while trying to find a way to send image data across a connection (loading the image into a bitmap control then getting the color of each pixel and sending the color data).
This might help you.
Is he saying we can literally construct a full picture of the users monitor using getpixelcolor :V It seems to return a different result every time even though the pixel at 0,0 on my monitor is not changing color.