ok, creo que ya queda poco para la solucion!!!!
La primera vez que se realiza una compra, $_SESSION['carrito'] , esta vacia, no tiene valor. Como se solucionaria? con un if ?? si esta vacia que no realice el array_merge ?? mmm... Si me ayudaras a rematarlo te lo agradeceria!
La segunda vez que añadas ya no habra problema no? porque al asignarle a $_SESSION['carrito']=$micarrito ya no estara vacia no?
Un saludo