Die Fehlermeldung bezieht sich warhscheinlich auf diese Zeile:
question('KW01', $itemsKW01[$i], 'combine=KW02', 'gap=line');
Sie besagt, dass Sie den Eintrag mit dem Index -4 ($i) in dem Array $itemsKW01 aufrufen möchten. Wo kommt die -4 her? Womöglich hierher:
$i = loopIndex() - $block1start;
Und wie kann $block1start kleiner sein als loopIndex()? Ich weiß es nicht. Die einfachste Erklärung wäre, dass Sie auf einer früheren Seite schonmal registerVariable($block1start) verwenden. Dann ist die Variable wegen des isset() hier nämlich nicht erneut gesetzt.
Es gibt aber auch viele andere Erklärungen. Am besten ergänzen Sie ein paar debug(), versuchen das Problem zu replizieren, und verfolgen dann aufmerksam die Debug-Information.
$i = loopIndex() - $block1start;
debug(loopIndex());
debug($block1start);
debug($i);