Did you verified that the personalPhotoUpload.ContentLength() > 0 ?
If it isn't, then that is your problem. If your filebytes is zero then there isn't an uploaded file.
Extracted from this documentation page:
The FileUpload control does not
automatically read the file from the
client. You must explicitly provide a
control or mechanism to allow the user
to submit the specified file. For
example, you can provide a button that
the user can click to upload the file.
The code that you write to save the
specified file could call the
FileBytes property, which returns the
contents of the file.
Before calling the FileBytes property,
you should use the HasFile property to
verify that the FileUpload control
contains a file to upload. If the
HasFile returns true, call the
FileBytes property. If it returns
false, display a message to the user
indicating that the control does not
contain a file. If you do not provide
error-handling code to verify that a
file exists, an attempt to save a
nonexistent file throws an
HttpException exception.