After a bit of debugging I solved the problem. For any others that might encounter this eror here was my solution..
First some background: WordPress 2.8.2 running on IIS7/PHP 5.2/MySQL 5.1
In my php.ini I had by basedir set as C:\inetpub with my session, and temporary upload folders as C:\temp\php\sessions & C:\temp\php\uploads respectively. My error log was kicking back the following error when I submitted a picture for upload:
PHP Warning: getimagesize() [function.getimagesize]: open_basedir restriction in effect. File(C:\temp\php\uploads\php19B6.tmp) is not within the allowed path(s): (C:\inetpub) in C:\inetpub\wwwroot\wordpress\wp-content\plugins\user-photo\user-photo.php on line 393
PHP Warning: getimagesize(C:\temp\php\uploads\php19B6.tmp) [function.getimagesize]: failed to open stream: Operation not permitted in C:\inetpub\wwwroot\wordpress\wp-content\plugins\user-photo\user-photo.php on line 393
So, I went ahead and changed my php log and temp paths to a temp folder within C:\inetpub, set the correct security permissions and everything works as advertised.
As an aside I would also suggest changing line 444 of the code to:
if(intval($current_user->user_level) <= get_option(‘userphoto_level_moderated’) ){
Out of the box using “Require user photo moderation for all users at or below this level” does not work for (none). The above code change should fix that. The code is courtesy of this thread
Good luck.