Hallo,
ich muss etwas raten, aber ich glaube, dein Problem hatte ich auch schon.
Checkboxen, die den Namen eines Arrays haben (news[]), werden lückenlos in das Array gefüllt. Soll heißen: Wenn die 10. Checkbox die erste ist, die angeklickt wurde, steht der Wert _nicht_ in news[9], sondern in news[0].
Du kannst die Rückgabe in news[9] erzwingen, indem du das Feld auch so nennst, also
<input type='checkbox' name='news[9]' value='10' ...
statt
<input type='checkbox' name='news[]' value='10' ...
Lieben Gruß, Kalle