I have duplicated this error - WinXP SP3, Apache 2.2.11 running as a service, PHP 5.2.8, GD 2.0.34 bundled.
I allowed interaction with the desktop and restarted the service. On a dual-screen setup (Primary: 1440x900, Secondary: 1920x1200) I get a black rectangle the size of the primary screen. I have error reporting turned right up (E_ALL | E_STRICT) and XDebug does not report any errors.
Does anyone else care to take a shot at this? Most important variables seem to be OS (Win2000/WinXP/Win2003/Vista) and version of PHP (5.2.2/.3/.4/.5/.6/.8).
I am going to take a peek at the source to imagegrabscreen().