No, sólo deberías hacerlo en caso de éxito en la query (si tienes cualquier problema al insertar el carrito, no te interesa borrarlo)
Y sería algo así como:
Código PHP:
if (!$pedido_query) {
header("location:error2.php?error=1");
} else {
//Anular el item del carrito que ya se ha procesado
$carrito_mio[$i] == NULL;
}
Y esto te lo digo sin tener ni idea de dónde sacas $carrito_mio xD