Si tu campo "ID" es autonumérico y único (supongo que lo será así), puedes usar inmediatamente despues de tu INSERT la función mysql_insert_id() para obtener ese ID generado y de ahí si lo requieres .. lo llevas a tu variable de sesión.
Los problemas con el implode() se ocasionan por qué el valor esperado es un array, cuando no tienen valores .. ya no es un array así que puedes verificar eso antes de hacer nada tipo:
Código PHP:
if (is_array($checkbox6)){
$p23=implode("-",$checkbox6);
} else {
$p23="valor por defecto";
}
Un saludo,