Código PHP:
$retorno = array(count($array));
Esto no hace lo que crees que hace. Esto crea un array con un elemento de tipo integer y de valor el valor devuelto por count($array). Por eso cuando intentas acceder a $retorno[0] como si fuese un array, te da el fallo, porque es un integer (un escalar), no un array.
Puedes hacerlo quitando la linea que he puesto antes y haciendo
Código PHP:
for($i=0;$i<count($array);$i++){
WriteLog($array[$i]);
WriteLog("Count $array[$i]: ".count($array[$i]));
$pos=count($array[$i])/2;
$retorno[$i]=array();
for($j=0;$j<$pos;$j++){
$retorno[$i][]=$array[$i][$j];
}
}