$carro es un arreglo?
Me parece que isset solo verifica que esté definida la variable, no que no tenga elementos o así.
Si $carro es un arreglo y cada elemento del arreglo es un producto, si quieres checar que el carro esté vacío haz esto:
Código PHP:
if(count($carro) == 0)
// el carro no tiene nada
else
//sí tiene