Было бы удобно увидеть вызывающий код, чтобы мы могли видеть, как устанавливается ваш контекст. Я собираюсь догадаться, что вы настроили его как ассоциацию, а не как массив, чтобы при использовании его в обратном вызове не было свойства длины (или 0).
Когда вы установите его, он должен выглядеть так:
var context = new Array();
context[0] = 'elem0';
context[1] = 'elem1';
context[2] = 'elem2';
не
var context = {0: 'elem0', 1: 'elem1', 2: 'elem2'};
Если это не проблема, попробуйте проверить это в FireFox / FireBug, установив точку останова в функции onChangeSucceeded и исследуя фактический объект контекста, чтобы увидеть, какие свойства он имеет.