Se me ocurre una solución poco ortodoxa y bastante mejorable (la hice apurado, me están esperando

):
Código PHP:
Ver original//$array es tu array multidimensional
foreach ($array as $arr)
if (!in_array($arr['item_kit_id'], $aux)){ $aux[] = $arr['item_kit_id'];
$final[] = $arr;
}
El resultado de esto es el siguiente:
Código HTML:
Ver originalArray
(
[0] => Array
(
[item_kit_id] => 6
[nombre_kit] => Kit con 2 artículos
[item_id] => 1
[quantity] => 1
)
[1] => Array
(
[item_kit_id] => 5
[nombre_kit] => Kit con 3 artículos
[item_id] => 3
[quantity] => 1
)
)
Para esto estoy usando 3 arrays: el tuyo, un array en donde guardaré los id de cada array hijo y el array final. Recorro al array padre y en cada iteración, verifico si el id del array hijo actual (en el bucle) no ha sido insertado en el array auxiliar, de ser así, lo inserto y también al array hijo en el array final. De este modo, evito tener arrays hijos con id repetido en el array final.
Saludos