O cackephp por padrão criptografa o valor dos cookies para segurança só que isso causa incompatibilidades com o suhosin.
Uma possível solução é desativar o suhosin, porém isso poderia abrir uma grande brecha de segurança, então o mlehor a fazer é desabilitar a criptografia do cookie.
Para isto é só setar o terceiro parâmetro como false no método Cookie->write
Exemplo:
$this->Cookie->write('carrinho', $dados_carrinho, false);