Good question :) Here's how I did it:
function head_custom() {
if (qa_opt('buddypress_integration_enable') && qa_opt('buddypress_integration_avatars'))
$avatar = preg_replace('|.*src="([^"]+)".*|i','$1',bp_core_fetch_avatar( array( 'item_id' => $this->content['q_view']['raw']['userid'], 'width' => qa_opt('buddypress_integration_avatar_w'), 'height' => qa_opt('buddypress_integration_avatar_h'), 'email' => $email ) ));
else if(isset($this->content['q_view']['avatar']))
$avatar = preg_replace('|.*SRC="([^"]+)".*|i','$1',$this->content['q_view']['avatar']);
if(isset($avatar))
$this->output('<link rel="image_src" href="'.$avatar.'" />');
qa_html_theme_base::head_custom();
}
This puts a link in your page's header to the image, with rel="image_src", which facebook should pick up. It should work for non-wp integration and buddypress integration (via buddypress plugin). For ordinary wp-integration, you'll have to figure out how to get the avatar url yourself.