En el "value" de tus checkbox es donde debes poner tu valor que al seleccionar es lo que implicarà esa selecciòn .. no un "true" .. eso ya lo sabes si pasa a PHP al ser seleccionada.
Tampoco puedes con un bucle for() ir generando N inputs de ese estilo con la opción "checked" .. fijate en el còdigo HTML que generas ..
Tampoco debes componer en HTML una "tabla" por lìnea que armas .. debe ser sòlo una "fila" en HTML.
Y no uses "printf()" .. eso es complicarte la vida, meter el "motor" de expresiones regulares para una tarèa que es muhco màs simple y natural con un "echo" y concatenando.
Código PHP:
<?
$numSesiones = $_POST['numSesiones']; //obtengo las sesiones deseadas
echo "<table><tr>";
for ($i=0; $i<=$numSesiones-1;$i++){
echo "<td><input type=\"checkbox\" name=\"opcion[]\" value=\"".$opciones[$i]."\" /></td>\n";
}
echo "</tr></table>";
?>
Un saludo,