I am battling about this problem.
Your body I'm fetching isn't a large one, 3100 chars. Apache logs around the server states this content length was 3100. However, the string came back by curl_multi_getcontent was cut to 1290 figures.
Usually curl_multi_getcontent() works fine, but we sometimes understand this strange behavior.
That one started my butt. It appears to become a bug in php5's (multi?)curl system. I experienced this bug when using the moving-curl multicurl lib, however the inherent problem appears to stay in php itself. Here's my php -v:
PHP 5.3.3-1ubuntu9.3 with Suhosin-Patch (cli) (built: Jan 12 2011 16:07:38) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
Under some conditions (during my situation CURLOPT_TIMEOUT had been maxed) curl_error and curl_errno wouldn't correctly benefit by an error within the curl. I needed to make use of the 'result' key in the array came back by curl_multi_info_read. That result code provided the particular error number once the curl_err* functions reported everything normally.
I believe this issue relates to this bug report: http://bugs.php.net/bug.php?id=52558