Il problema e' che nel primo for conti per due...
codice:
for ( $i=0 ; $i < (count($myArr)-1) ; $i=$i+2) {
$traccia[$i] = $myArr[$i]; 
$voto[$i] = $myArr[$i+1]; 
}
quindi si presume che $traccia e $voto abbiano l'indice di due in due... tipo:
codice:
    [0] => titolo1
    [2] => titolo2
    [4] => titolo3
    [6] => titolo4
    [8] => titolo5
Quindi nel for successivo dovresti verificare di fare l'indice di due in due...
codice:
$y=0;
for ($i=0; $i < ($tracce) ; $i=$i+1) {
$tbt .= $traccia[$y] ."|". $voto[$y] ."|";
$y=$y+2;
}
Con $tbt .= i dati vengono aggiunti ai precedenti estratti, ma forse e' quello che vuoi. O forse no. Non posso saperlo.